Magnetic sensing user interface device methods and apparatus

ABSTRACT

Methods for processing signals from a magnetic user interface device having a manual actuator are disclosed. Movements of the actuator may cause relative movement between one or more magnets and one or more corresponding sensors that may each generate signals representing independent magnetic field components detected within each sensor. A field model may be used in the magnetic user interface device to translate magnetic sensor readings during operation to position information, which may then be converted to output signals for transmission to an electronic computing system representing displacement and/or deformation of the actuator. The output signals may be generated in a predetermined format, such as USB format or other computer-interface formats, that can be interpreted by the electronic computing system.

CROSS-REFERENCE TO RELATED PATENTS AND APPLICATIONS

This application claims priority under 35 U.S.C. § 119(e) to U.S.Provisional Patent Application Ser. No. 61/375,679, filed on Aug. 20,2010, entitled METHOD FOR PROCESSING OUTPUT SIGNALS OF MAGNETICALLYSENSED USER INTERFACE DEVICES, to U.S. Provisional Patent ApplicationSer. No. 61/392,302, filed Oct. 12, 2010, entitled MAGNETIC THUMBSTICKDEVICES, to U.S. Provisional Patent Application Ser. No. 61/411,406,filed Nov. 8, 2010, entitled SLIM PROFILE MAGNETIC USER INTERFACEDEVICES, to U.S. Provisional Patent Application Ser. No. 61/419,150,filed Dec. 2, 2010, entitled MAGNETICALLY SENSED KNOB-ACTUATOR USERINTERFACE DEVICE, to U.S. Provisional Patent Application Ser. No.61/424,496, filed Dec. 17, 2010, entitled KNOB-ACTUATOR USER INTERFACEDEVICE WITH MAGNETIC SENSORS, to co-pending U.S. Utility patentapplication Ser. No. 11/37,069 filed May 26, 2011, entitled “USERINTERFACE DEVICES, APPARATUS, AND METHOD,” and to U.S. ProvisionalPatent Application Ser. No. 61/525,755, filed Aug. 20, 2011, entitledUSER INTERFACE DEVICE METHODS AND APPARATUS USING PERMANENT MAGNETS ORELECTROMAGNETS AND CORRESPONDING MAGNETIC SENSORS, The content of eachof these applications is hereby incorporated by reference herein in itsentirety for all purposes.

In addition, this application is related to U.S. Provisional PatentApplication Ser. No. 61/345,956, filed on May 18, 2010, entitled SPRINGSUSPENDED MAGNETICALLY SENSED USER INTERFACE DEVICES, to U.S.Provisional Patent Application Ser. No. 61/363,173, filed Jul. 9, 2010,entitled SPRING SUSPENDED MAGNETICALLY SENSED USER INTERFACE DEVICES,and to U.S. Provisional Patent Application Ser. No. 61/372,025, filedAug. 9, 2010, entitled SPRING SUSPENDED MAGNETICALLY SENSED USERINTERFACE DEVICE. The content of each of these applications is herebyincorporated by reference herein in its entirety for all purposes.

FIELD

The present disclosure relates generally to user interface devices usingmagnetic sensing, and associated methods, apparatus, and systems. Moreparticularly, but not exclusively, the disclosure relates to methods andapparatus for generating and using magnetic field models within userinterface devices (“UIDs”) that use magnetic sensing elements such asmagnets and magnetic sensors (also denoted herein as “magnetic UIDs” forbrevity), to sense positions, motions, deformations, and/or otheractions generated by user interactions with the magnetic UIDs.

BACKGROUND

There are a multitude of manual user interface devices available forinteracting with computers and other electronic devices, such ascomputer mouse devices, track balls, joysticks, and the like. Many ofthese manual user interface devices use mechanical or optical componentsfor detecting movements relative to a supporting surface, such as atable, desk, or other surface. Interpretation of motion in thesemechanical and optical devices is dependent on the device components andconfiguration, and the art is replete with methods for interpretingmotion of mechanical and optical components of these user interfacedevices. However, methods for interpreting position and motion in userinterface devices using magnetic sensing components leave much room forimprovement.

SUMMARY

The present disclosure relates generally to user interface devices usingmagnetic sensing, and associated methods, apparatus, and systems. In oneaspect, the disclosure relates to a method for processing signals in auser interface device, where the user interface device including anactuator element having one or more magnets and one or more magneticsensor elements configured to sense a position or deformation of theactuator element, The method may include, for example, receiving, duringa movement or deformation of the actuator element from the releasedstate, sensor data from the one or more magnetic sensor elements in aplurality of axes of measurement. The method may further includecomparing the sensor data from the one or more magnetic sensor elementsto a predefined magnetic field model to determine an estimated positionor deformation of the actuator element from the reference state. Themethod may further include generating, based on the estimated positionor deformation of the actuator element from the reference state, anoutput signal usable by an electronic device coupled to the userinterface device. The predefined magnetic field model may be configuredto relate positional information of the one or more magnets withcorresponding sensor information associated with the one or moremagnetic sensor elements.

In another aspect, the disclosure relates to a magnetic user interfacedevice. The magnetic user interface device may include, for example, anactuator element including one or more magnets, one or more magneticsensor elements associated with the one or more magnets, where the oneor more magnetic sensor elements may be configured to sense a positionor deformation of the actuator element and/or the magnets or associatedwith the actuator element. The magnetic user interface device mayfurther include a memory configured to store a predefined magnetic fieldmodel. The magnetic user interface device may further include aprocessing element coupled to the memory. The processing element may beconfigured to receive, during a movement or deformation of the actuatorelement from the released state, sensor data from the one or moremagnetic sensor elements in a plurality of axes of measurement, comparethe sensor data from the one or more magnetic sensor elements to thepredefined magnetic field model to determine an estimated position ordeformation of the actuator element from the reference state, andgenerate, based on the estimated position or deformation of the actuatorelement from the reference state, an output signal usable by anelectronic device coupled to the user interface device. The predefinedmagnetic field model may be configured to relate positional informationof the one or more magnets with corresponding sensor informationassociated with the one or more magnetic sensor elements.

In another aspect, the disclosure relates to a user interface device.The user interface device may include, for example, actuator meansincluding one or more magnets, and magnetic sensor means configuredsense a position or deformation of the actuator means, memory meansconfigured to store a predefined magnetic field model. The userinterface device may further include processor means coupled to thememory means configured to receive, during a movement or deformation ofthe actuator element from the released state, sensor data from the oneor more magnetic sensor elements in a plurality of axes of measurement,compare the sensor data from the one or more magnetic sensor elements tothe predefined magnetic field model to determine an estimated positionor deformation of the actuator element from the reference state, andgenerate, based on the estimated position or deformation of the actuatorelement from the reference state, an output signal usable by anelectronic device coupled to the user interface device. The predefinedmagnetic field model may be configured to relate positional informationof the one or more magnets with corresponding sensor informationassociated with the one or more magnetic sensor elements.

In another aspect, the disclosure relates to a computer-readable mediumcontaining instructions stored on a non-transitory medium for causing aprocessor in a magnetic user interface device, wherein the magnetic userinterface device includes one or more actuator elements and one or moremagnetic sensor elements configured to sense motion or deformation ofthe actuator elements, to perform a signal processing method. The signalprocessing method may include receiving, during a movement ordeformation of the actuator element from the released state, sensor datafrom the one or more magnetic sensor elements in a plurality of axes ofmeasurement, comparing the sensor data from the one or more magneticsensor elements to a predefined magnetic field model to determine anestimated position or deformation of the actuator element from thereference state, and generating, based on the estimated position ordeformation of the actuator element from the reference state, an outputsignal usable by an electronic device coupled to the user interfacedevice. The predefined magnetic field model may relate positionalinformation of the one or more magnets with corresponding sensorinformation associated with the one or more magnetic sensor elements.

In another aspect, the disclosure relates to a method for generating afield model for use in a user interface device including one or moreactuator elements and one or more magnetic sensor elements configured tosense motion or deformation of the actuator elements. The method mayinclude, for example, orienting the user interface device in ones of aplurality of positions and determining and storing positionalinformation corresponding to the ones of a plurality of position,receiving and storing ones of a plurality of sensor data valuescorresponding to the ones of a plurality of positions, and associatingthe positional information with the sensor data values to generate thefield model. The positional information and sensor data values may beassociated in the form of a lookup table. Alternately, or in addition,the positional information and sensor data values may be associated inthe form of a closed-form equation. In another aspect, the disclosurerelates to a method of processing signals from a manual user interfacedevice having a manual actuator that can be manually moved from areleased state and returned to its released state as a result ofrestorative forces, the movement of the manual actuator causing relativemovement between a plurality of magnets and a plurality of correspondingsensors that each generate signals representing three independentmagnetic field components detected within each sensor. The method mayinclude, for example, generating a field model for each sensor in whichthe signals from each sensor correspond to a predetermined set ofposition data, comparing the position data for each of the sensors todetermine a displacement of the manual actuator from the released state,and generating signals for transmission to an electronic computingsystem representing the displacement of the manual actuator, the signalsbeing generated in a predetermined format that can be interpreted by theelectronic computing system.

In another aspect, the disclosure relates to a method of processingsignals from a manual user interface device having a manual actuatorthat can be manually moved from a released state and returned to itsreleased state as a result of restorative forces, the movement of themanual actuator causing relative movement between a plurality of magnetsand a plurality of corresponding sensors that each generate signalsrepresenting three independent magnetic field components detected withineach sensor. The method may include, for example, generating a centercalibration prism including a predetermined set of boundaries of themagnetic field components detected by each sensor, and repeatedlyre-defining the center calibration prism to auto-zero the released stateposition.

In another aspect, the disclosure relates to computer-readable media forstoring instructions for implementing, in whole or in part, theabove-described methods on processing element, which may be component ofa magnetic user interface device. In another, aspect, the disclosurerelates to apparatus and devices for implementing the above-describedmethods, in whole or in part, as well as systems for using theabove-described methods in whole or in part. In another aspect, thedisclosure relates to means for performing the above-described methods,in whole or in part.

Various additional aspects, details, features, and functions of variousembodiments are further described herein in conjunction with theappended drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present application may be more fully appreciated in connection withthe following detailed description taken in conjunction with theaccompanying drawings, wherein:

FIG. 1 is an isometric view of details of an embodiment of an examplemagnetic user interface device (UID) with a clover leaf shaped printedcircuit board;

FIG. 2 is an enlarged vertical sectional view of the magnetic UIDembodiment of FIG. 1 taken along line 2-2 of FIG. 1;

FIG. 3 is a slightly reduced exploded isometric view of the magnetic UIDembodiment of FIG. 1 taken from above;

FIG. 4 is an exploded view of the embodiment of FIG. 3 taken from below;

FIG. 5 is an enlarged bottom plan view of a scalloped-edge manualactuator of the magnetic UID embodiment of FIG. 1;

FIG. 6 is an isometric view of details of an alternate embodiment of amagnetic UID similar to the embodiment of FIGS. 1-4 with added switchbumps;

FIG. 7 is a reduced isometric view of a user's hand squeezing a switchbump on the magnetic UID embodiment of FIG. 6;

FIG. 8 is a block diagram illustrating details of an embodiment ofcircuitry for operatively coupling the magnetic UID embodiments of FIG.1 or 6 to a computer or other electronic computing device;

FIG. 9 is an illustration of an example magnetic sensor and magnetconfiguration and associated magnetic field components;

FIG. 10 illustrates details of an embodiment of part of a radialdisplacement lookup table for use in a magnetic UID;

FIG. 11 illustrates partial details of an embodiment of part of a Z-axisdisplacement lookup table for use in a magnetic UID;

FIG. 12 illustrates details of an embodiment of a process fordetermining the position of a magnet in relation to a correspondingmagnetic sensor using lookup tables in a magnetic UID;

FIG. 13 illustrates details of an embodiment of a process fordetermining the position of a magnet in relation to a correspondingmagnetic sensor using an indexed list in a magnetic UID;

FIG. 14 illustrates details of an embodiment of a process fordetermining the position of a magnet in relation to a correspondingmagnetic sensor using interpolation in a magnetic UID;

FIG. 15 illustrates details of an embodiment of a process forinterpreting the state of displacements of magnets in a magnetic UID;

FIGS. 16A and 16B illustrate details of an embodiment of a process forinterpreting the state of displacements of magnets in a magnetic UID;

FIGS. 17A and 17B illustrate details of an embodiment of a process forinterpreting the state of displacements of magnets in a magnetic UID;

FIG. 18 illustrates details of an embodiment of a process interpretingdisplacements of an actuator using combined displacements of magnets ina magnetic UID;

FIG. 19 illustrates details of an embodiment of circuitry for coupling amagnetic UID to an electronic computing system;

FIG. 20 is an illustration of details of an embodiment of part of aradial position lookup table for use in a magnetic UID;

FIG. 21 is an illustration of details of an embodiment of part of aZ-axis position lookup table for use in a magnetic UID;

FIG. 22 is a diagram illustrating one possible magnet position, in areleased state, of an embodiment of a magnetic UID that utilizes amagnetically sensed squeeze mechanism;

FIG. 23 is a diagram illustrating one possible magnet position, in adisplaced state due to a squeeze-type deformation, of an embodiment of amagnetic UID manual user interface device that utilize a magneticallysensed squeeze mechanism;

FIG. 24 illustrates details of an embodiment of a magnetic UID deviceusing small magnets and compass sensors;

FIG. 25 is a block diagram illustrating details of an embodiment of aprocess for using magnetic field measurements generated from compasssensors to determine small magnet positions in a magnetic UID;

FIG. 26 illustrates details of an embodiment of a system including anelectronic computing device coupled to a magnetic UID with associatedcompass devices for providing additional position information;

FIG. 27 illustrates details of an embodiment of a process fordetermining positional information of an actuator element and/or magnetsin a magnetic UID; and

FIG. 28 illustrates details of an embodiment of a process fordetermining magnetic field model information for use with a processingelement of a magnetic UID.

DETAILED DESCRIPTION OF EMBODIMENTS Overview

This disclosure relates generally to user interface devices usingmagnets and magnetic sensing, along with associated methods, apparatus,and systems. More particularly, but not exclusively, the disclosurerelates to methods and apparatus for generating and using magnetic fieldmodels within user interface devices (“UIDs”) that use magnetic sensingelements (also denoted herein as “magnetic UIDs” for brevity), such asmagnets and magnetic sensors, to sense positions, motions, deformations,and/or other user interactions with the user interface devices A typicalmagnetic UID may include an actuator element having one or more magnets,along with corresponding magnetic sensors, which may be multi-axismagnetic sensors, configured to sense the position and/or movements ofthe magnets and associated actuator. The sensed information may then beprocessed in a processing element to generate information related tomotion, position, deformation, or other actions of the actuator element,which may then be provided to attached computers or other electroniccomputing devices or systems to facilitate user interaction with thecomputers or other electronic computing devices or systems.

Subject matter described in various additional applications owned bySeekTech, Inc., assignee of this application, are related to thisdisclosure and may be combined with the apparatus and methods describedherein in various embodiments. For example, this disclosure is relatedto U.S. Provisional Patent Application Ser. No. 61/345,956, filed on May18, 2010, entitled SPRING SUSPENDED MAGNETICALLY SENSED USER INTERFACEDEVICES, to U.S. Provisional Patent Application Ser. No. 61/363,173,filed Jul. 9, 2010, entitled SPRING SUSPENDED MAGNETICALLY SENSED USERINTERFACE DEVICES, to U.S. Provisional Patent Application Ser. No.61/372,025, filed Aug. 9, 2010, entitled SPRING SUSPENDED MAGNETICALLYSENSED USER INTERFACE DEVICE, U.S. Provisional Patent Application Ser.No. 61/375,679, filed on Aug. 20, 2010, entitled METHOD FOR PROCESSINGOUTPUT SIGNALS OF MAGNETICALLY SENSED USER INTERFACE DEVICES, U.S.Provisional Patent Application Ser. No. 61/392,302, filed Oct. 12, 2010,entitled MAGNETIC THUMBSTICK DEVICES, U.S. Provisional PatentApplication Ser. No. 61/411,406, filed Nov. 8, 2010, entitled SLIMPROFILE MAGNETIC USER INTERFACE DEVICES, U.S. Provisional PatentApplication Ser. No. 61/419,150, filed Dec. 2, 2010, entitledMAGNETICALLY SENSED KNOB-ACTUATOR USER INTERFACE DEVICE, U.S.Provisional Patent Application Ser. No. 61/424,496, filed Dec. 17, 2010,entitled KNOB-ACTUATOR USER INTERFACE DEVICE WITH MAGNETIC SENSORS, U.S.Utility patent application Ser. No. 11/37,069 filed May 26, 2011,entitled “USER INTERFACE DEVICES, APPARATUS, AND METHOD, and U.S.Provisional Patent Application Ser. No. 61/525,755, filed Aug. 20, 2011,entitled USER INTERFACE DEVICE METHODS AND APPARATUS USING PERMANENTMAGNETS OR ELECTROMAGNETS AND CORRESPONDING MAGNETIC SENSORS.” Thecontent of each of these applications is hereby incorporated byreference herein in its entirety for all purposes. These applicationsmay be denoted collectively herein as the “Related Applications.”

As noted previously, this disclosure relates generally to user interfacedevices using magnetic sensing. For example, in one aspect, thedisclosure relates to a method for processing signals in a userinterface device, where the user interface device including an actuatorelement having one or more magnets and one or more magnetic sensorelements configured to sense a position or deformation of the actuatorelement, The method may include, for example, receiving, during amovement or deformation of the actuator element from the released state,sensor data from the one or more magnetic sensor elements in a pluralityof axes of measurement. The method may further include comparing thesensor data from the one or more magnetic sensor elements to apredefined magnetic field model to determine an estimated position ordeformation of the actuator element from the reference state. The methodmay further include generating, based on the estimated position ordeformation of the actuator element from the reference state, an outputsignal usable by an electronic device coupled to the user interfacedevice. The predefined magnetic field model may be configured to relatepositional information of the one or more magnets with correspondingsensor information associated with the one or more magnetic sensorelements.

The stage of comparing the sensor data from the one or more magneticsensor elements to a predefined magnetic field model may include, forexample, comparing the sensor data to values in one or more lookuptables to determine the estimated position or deformation. The comparingthe sensor data may further include converting x and y dimension sensormeasurements to an r-dimension measurement and determining the estimatedposition by accessing a lookup table including B_(r) and z-dimensionvalues. Alternately, or in addition, the comparing the sensor data fromthe one or more magnetic sensor elements to a predefined magnetic fieldmodel may include solving, based on the sensor data, a closed formequation of the predefined magnetic field model to determine theestimated position or deformation. The plurality of orthogonal axes ofmeasurement may be three orthogonal axes of measurement.

The one or more magnets may be permanent magnets. Alternately, or inaddition, the one or more magnets may be electromagnets. The actuatorelement may include one or more movable elements. Alternately, or inaddition, the actuator element may include one or more deformableelements.

The output signal may include, for example, data defining the estimatedposition of the actuator element and/or of magnets in or associated withthe actuator element. The output signal may include data defining amotion of the actuator element. The output signal may include datadefining the deformation of the actuator element. The predefinedmagnetic field model may include one or more lookup tables relating thepositional information to the sensor information. The predefinedmagnetic field model may include a mathematic model, which may be aclosed form solution model, relating the position information to thesensor information. The reference position may be a released stateposition or may be another position related to or associated with thereleased state position, such as a position offset from the releasedstate position.

The reference position may be offset from a released state position, andthe method may further include, for example, determining the offset fromthe released position and adjusting the estimated position based on thedetermined offset. The offset may be a function of temperature and/orother physical or operational parameters, and the estimated position maybe adjusted responsive to a temperature measurement or measurement ordetermination of the other physical or operational parameters.

The method may further include, for example, compensating for unintendeddisplacement of the manual actuator below a predetermined minimumthreshold. The method may further include compensation for position ofthe magnetic user interface device using one or more compass devices.Position of the magnetic user interface device may be compensated byusing a first compass on the magnetic user interface device and a secondcompass on a display or monitor of a coupled electronic computingsystem.

The determining of the offset from the released position may include,for example, generating a center calibration prism including apredetermined set of boundaries of the magnetic field componentsdetected by each sensor, and repeatedly re-defining the centercalibration prism so as to auto-zero the released state position.

In another aspect, the disclosure relates to a magnetic user interfacedevice. The magnetic user interface device may include, for example, anactuator element including one or more magnets, one or more magneticsensor elements associated with the one or more magnets, where the oneor more magnetic sensor elements may be configured to sense a positionor deformation of the actuator element and/or the magnets or associatedwith the actuator element. The magnetic user interface device mayfurther include a memory configured to store a predefined magnetic fieldmodel. The magnetic user interface device may further include aprocessing element coupled to the memory. The processing element may beconfigured to receive, during a movement or deformation of the actuatorelement from the released state, sensor data from the one or moremagnetic sensor elements in a plurality of axes of measurement, comparethe sensor data from the one or more magnetic sensor elements to thepredefined magnetic field model to determine an estimated position ordeformation of the actuator element from the reference state, andgenerate, based on the estimated position or deformation of the actuatorelement from the reference state, an output signal usable by anelectronic device coupled to the user interface device. The predefinedmagnetic field model may be configured to relate positional informationof the one or more magnets with corresponding sensor informationassociated with the one or more magnetic sensor elements.

The one or more magnets may include permanent magnets. Alternately, orin addition, the one or more magnets may include cross-shapedelectromagnets. The one or more magnetic sensor elements may includehigh sensitivity magnetic sensor elements, such as compass sensors ormagnetometers.

In another aspect, the disclosure relates to a user interface device.The user interface device may include, for example, actuator meansincluding one or more magnets, and magnetic sensor means configuredsense a position or deformation of the actuator means, memory meansconfigured to store a predefined magnetic field model. The userinterface device may further include processor means coupled to thememory means configured to receive, during a movement or deformation ofthe actuator element from the released state, sensor data from the oneor more magnetic sensor elements in a plurality of axes of measurement,compare the sensor data from the one or more magnetic sensor elements tothe predefined magnetic field model to determine an estimated positionor deformation of the actuator element from the reference state, andgenerate, based on the estimated position or deformation of the actuatorelement from the reference state, an output signal usable by anelectronic device coupled to the user interface device. The predefinedmagnetic field model may be configured to relate positional informationof the one or more magnets with corresponding sensor informationassociated with the one or more magnetic sensor elements.

In another aspect, the disclosure relates to a computer-readable mediumcontaining instructions stored on a non-transitory medium for causing aprocessor in a magnetic user interface device, wherein the magnetic userinterface device includes one or more actuator elements and one or moremagnetic sensor elements configured to sense motion or deformation ofthe actuator elements, to perform a signal processing method. The signalprocessing method may include receiving, during a movement ordeformation of the actuator element from the released state, sensor datafrom the one or more magnetic sensor elements in a plurality of axes ofmeasurement, comparing the sensor data from the one or more magneticsensor elements to a predefined magnetic field model to determine anestimated position or deformation of the actuator element from thereference state, and generating, based on the estimated position ordeformation of the actuator element from the reference state, an outputsignal usable by an electronic device coupled to the user interfacedevice. The predefined magnetic field model may relate positionalinformation of the one or more magnets with corresponding sensorinformation associated with the one or more magnetic sensor elements.

In another aspect, the disclosure relates to a method for generating afield model for use in a user interface device including one or moreactuator elements and one or more magnetic sensor elements configured tosense motion or deformation of the actuator elements. The method mayinclude, for example, orienting the user interface device in ones of aplurality of positions and determining and storing positionalinformation corresponding to the ones of a plurality of position,receiving and storing ones of a plurality of sensor data valuescorresponding to the ones of a plurality of positions, and associatingthe positional information with the sensor data values to generate thefield model. The positional information and sensor data values may beassociated in the form of a lookup table. Alternately, or in addition,the positional information and sensor data values may be associated inthe form of a closed-form equation. In another aspect, the disclosurerelates to a method of processing signals from a manual user interfacedevice having a manual actuator that can be manually moved from areleased state and returned to its released state as a result ofrestorative forces, the movement of the manual actuator causing relativemovement between a plurality of magnets and a plurality of correspondingsensors that each generate signals representing three independentmagnetic field components detected within each sensor. The method mayinclude, for example, generating a field model for each sensor in whichthe signals from each sensor correspond to a predetermined set ofposition data, comparing the position data for each of the sensors todetermine a displacement of the manual actuator from the released state,and generating signals for transmission to an electronic computingsystem representing the displacement of the manual actuator, the signalsbeing generated in a predetermined format that can be interpreted by theelectronic computing system.

In another aspect, the disclosure relates to a method of processingsignals from a manual user interface device having a manual actuatorthat can be manually moved from a released state and returned to itsreleased state as a result of restorative forces, the movement of themanual actuator causing relative movement between a plurality of magnetsand a plurality of corresponding sensors that each generate signalsrepresenting three independent magnetic field components detected withineach sensor. The method may include, for example, generating a centercalibration prism including a predetermined set of boundaries of themagnetic field components detected by each sensor, and repeatedlyre-defining the center calibration prism to auto-zero the released stateposition.

Various additional aspects, details, features, functions, apparatus,systems, processes, and methods are further described and illustratedbelow in conjunction with the appended drawing figures.

Example magnetic user devices on which embodiments may be implementedmay include, for example, user interface devices, such as are describedin the Related Applications, that include a movable and/or deformablemanual actuator element for facilitating user interaction, through thedevice, with other elements, components, devices, and/or systems, suchas computers or other electronic computing devices or systems. Anelement of the user interface device may be configured to providerestorative forces in response to user manipulation of the device. Forexample, the manual actuator may exhibit resistance to manipulation andmay return to a neutral position with the use of springs, flexiblemembranes, or other mechanical elements.

Magnetic UIDs use one or more magnets and one or more magnetic sensors.The magnets may be permanent magnets configured such that each of thepermanent magnets may be paired to a magnetic sensing element orelements. The sensing element or elements may be configured to measuremagnetic field components, which may be measured in one or more axes(e.g., three-axes of motion in a typical embodiment). In someembodiments, electromagnets may be used in place of or in additional topermanent magnets. Electromagnets may be formed in a cross-shapedconfiguration to include two orthogonal dipoles. In some embodiments, asingle cross-configured electromagnet and a single three-axis highsensitivity magnetic sensor may be used to provide a highly compactmagnetic UID. The two dipoles may be selectively switched to generate amagnetic field for sensing in an electromagnet embodiment.

A magnetic field model associated with the magnetic UID may begenerated, and information related to the magnetic field model may bestored in the magnetic UID, such as in a memory or other data storagemechanism. The magnetic field model may comprise a closed-formmathematic model, such as in the form of one or more equations thatrepresent relationships between sensor measurements and positions and/ordeformations of the actuator(s) and/or associated magnets. Alternately,or in addition, the magnetic field model comprise a set of data, such asdata configured in a lookup table (LUT) or other date structure torepresent the relationships between sensor information and position ordeformation information.

The magnetic UID may have information received from the magnetic sensorsin conjunction with the magnetic field model to convert magnetic fieldmeasurements (such as during user movement or deformation of theactuator elements(s)) into position, motion, and/or deformationinformation and data corresponding with the magnets and/or actuator(s).

The magnets may be permanent magnets such as ferromagnets or other typesof permanent magnets. The magnets may be positioned so that the northpole and south pole of each type of magnet are pointed or oriented inthe same direction or are oriented in different directions. The sensingelement or elements may be a magnetic sensor or sensors, for example,Hall-Effect sensors. In some embodiments, very sensitive sensors may beused that, for instance, measure Lorentz force, such as, for example,magnetometers or compass sensors, such as the BLBC3-B CMOS 3D Compasssensor from Baolab Microsystems or other compass or high sensitivitymagnetic sensors.

In some embodiments, interpolation, offset compensation, and/or otherprocessing or adjustment may be used to further refine the positionaldata of the magnet and associated actuator(s).

Terminology

As used herein the term “permanent magnet” refers to any object that ismagnetized and creates its own persistent magnetic field. Suitableferromagnetic materials for a permanent magnet include iron, nickel,cobalt, rare earth metals and their alloys, e.g. Alnico and Neodymium.Permanent magnets can also be made of powderized ferromagnetic materialheld together with an organic binder or by other materials known ordeveloped in the art.

The term “released state” as used herein describes a state in which nooperator-initiated forces are acting upon a magnetically-sensed manualactuator besides those which are inherently an aspect of the structureof the device itself, such as gravity. Furthermore, the term referencepoint as used herein describes the measurement in terms of magneticfield components made while the manual actuator of a manual userinterface device is in the released state or in a state related to thereleased state by a compensation factor.

The term “magnet center position” as used herein refers to measurementsof the position of the center of the magnet, such as the center of apermanent magnet or central position of an electromagnet such as across-shaped two dipole electromagnet, in relation to its correspondingmagnetic sensor in terms of physical distance.

The term “electronic computing system” as used herein refers to anysystem that may be controlled by or otherwise interface with a manualuser interface device. Examples of an electronic computing systeminclude but are not limited to; personal computers (PCs), video gameconsole systems, robotic arms, test or measurement equipment, imagingequipment, graphical art systems, as well as computer aided designsystems.

The term “processing element” as used herein refers to a component whichreceives signals or data from sensors and is capable of processing thedata to generate output signals. In a typical magnetic UIDimplementation, a processing element receives signals or datarepresenting information from multiple magnetic sensors, processes theinformation to determine position, motion, deformation, and/or otherinformation related to user interaction with the magnetic UID, and thengenerates output signals in a compatible format for transfer to theelectronic computing system, with the output signal then transferred tothe electronic computing system. In some embodiments the processingelement may be integral with the electronic computing system, whereas inother embodiments the processing element may be within a separate deviceor apparatus. A processing element may include one or more processors,such as microcontrollers, microprocessors, digital signal processors(DSPs), field programmable gate arrays (FPGAs), application specificintegrated circuits (ASICs), or other programmable devices, as well asone or more memories, one or more peripheral devices, such asanalog-to-digital (A/D) converters, serial or parallel digitalinput/output devices, or other peripheral components or devices. Aprocessing element may include a memory or other circuit for storinginstructions for execution on the processor, or may be coupled to anexternal memory or other device to retrieve instructions for execution.

The terms “displace” and “displacement,” when used herein in referenceto the manual actuator and the magnets, shall mean various manualmovements thereof, including, but not limited to, lateral movementsalong the X and Y axes, vertical movements along the Z axis, tilting,rotation, and permutations and combinations thereof. The same definitionapplies to movement of the magnetic sensors in the converse arrangementwhere the magnetic sensors are coupled to the manual actuator and moveadjacent to stationary corresponding magnets.

The terms “magnetically sensed user interface device,” “manual userinterface device,” and “magnetic user interface device (magnetic UID)”refer to any user interface device that utilizes, among otherspecialized components, a magnet or magnets that correspond to and movewith respect to a magnetic sensor or magnetic sensors. The magnet(s) ormagnetic sensor(s) are typically mounted onto some form of a manualactuator in a known or predefined arrangement.

A manual actuator on a magnet UID is typically pivotably mounted by arestorative element such as a spring or springs so that the manualactuator and attached magnet(s) are free to move through a limited rangeabout the magnetic sensor(s). Instead of a spring, magnetic UIDs may useadjacent permanent magnets oriented with opposite polarities to providethe restorative force necessary to return the manual actuator to areleased state.

Each of the magnetic sensors may be closely paired with ones of themagnets. In magnetic UIDs with more than one of the magnets and one ofthe magnetic sensors, the magnetic sensors may be placed far enoughapart so that magnetic field of the magnets associated with other onesof the magnetic sensors do not strongly influence the measured magneticfields at each of the magnetic sensors, or any influence may becompensated for. Each magnetic sensor may preferably measure threeindependent magnetic field components approximately at a single compactpoint in space within the sensor package. When the position of amagnetic sensor is referenced herein, the referenced sensor positionrefers to a point within the sensor package where the magnetic fieldsare measured.

As used herein, the term, “exemplary” means “serving as an example,instance, or illustration.” Any aspect, detail, function, element,module, implementation, and/or embodiment described herein as“exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects and/or embodiments.

Example Embodiments

Examples of various configurations of magnetic UIDs and associatedelements may be found in the Related Applications, including, forexample, U.S. patent application Ser. No. 12/756,068, entitled MAGNETICMANUAL UNSER INTERFACE DEVICE, and U.S. patent application Ser. No.11/37,069, filed May 26, 2011 entitled USER INTERFACE DEVICES,APPARATUS, AND METHODS, the entire disclosures of which is herebyincorporated by reference. Some example embodiments of such userinterface devices are described subsequently with respect to FIGS. 1-7.

For example, FIGS. 1-5 illustrate details of an embodiment 50 of amagnetic UID that includes an upper substantially inverted dome shapedscalloped-edge manual actuator 51 and a lower base 52. Thescalloped-edge actuator 51 may be encased by an over-molded elastomericcovering 53. Internally and along the bottom surface of actuator 51 aseries of four top spring captures 51 a (best seen in FIG. 5) and aseries of four magnet mounts 51 b may be formed. The magnet mounts 51 bmay be used to secure a set of four cylindrical magnets 54 to actuator51. Each of the cylindrical magnets 54 may be oriented with its Southpole facing towards the bottom of actuator 51 and its North pole facingtowards a corresponding one of four sensors 55, which may be, forexample, a Melexis MLX90333 Triaxis 3D-Joystick Position sensor or aMelexis MLX90363 sensor. In some embodiments, magnetic sensors withincreased sensitivity may be used that, for instance, measure Lorentzforce. In such embodiments one sensor may be used to measure andsubtract off any local, background magnetic fields, such as the earth'smagnetic field, to compensate for such fields and improve sensingaccuracy and device performance.

Top spring captures 51 a may be formed to aid in holding a set of foursprings 56 in place during displacements of actuator 51. The center ofthe top of the actuator 51 may be concave, curving downward in thedirection toward the base 52. About the center of the bottom of actuator51, a center keying feature 51 c (best illustrated in FIG. 5) may beformed. Actuator 51 may be mounted to a center limiting component 57using a screw 58 and/or other attachment mechanisms. The top of centerlimiting component 57 may be formed with a limiting component keyingfeature 57 a which may fit or engage with a complementary center keyingfeature 51 c to aid in securing the center limiting component 57 tomanual actuator 51. The center limiting component 57 may be configuredso that it forms a cylindrical post on its top end, above the limitingcomponent keying feature 57 a. The bottom section of the center limitingcomponent 57 may flatten to a larger diameter than that of itscylindrical post top.

Evenly spaced in four places about the circumference of the flattenedsection of larger diameter, a series of curved projections may be formedin the center limiting component 57. A downward facing dome may beshaped about the bottom center of the flattened section of the centerlimiting component 57 in order to make contact with a mechanical domeswitch 59 during certain downward displacements of actuator 51. Amechanical dome switch 59 (as shown in FIG. 2) may be mounted to the topcenter of a circuit board, such as clover leaf shaped printed circuitboard 60. Each of the four sensors 55 may be mounted on a correspondingone of the four leaves of printed circuit board 60. Printed circuitboard 60 may be mounted to the underside of a bottom spring mountingpiece 61 using screws 58 or other attachment mechanisms.

An electrical connector 62 may be mounted on the bottom of printedcircuit board 60. In between each leaf of printed circuit board 60, thebottom of each of the springs 56 may be mounted to the bottom of thepartial cylindrical recesses formed by the bottom spring mounting piece61. A set of bottom spring captures 61 a (as shown in FIG. 3 and FIG. 4)may be formed about the bottom of each of the partial cylindricalrecesses to aid in holding the springs 56 in place in relation to thebottom spring mounting piece 61. The partial cylindrical recesses mayhave a greater diameter than that of the springs 56 so as to allow rangeof motion of the springs 56 and actuator 51. A hole may be formed in thecenter of the bottom spring mount piece 61. The hole may be larger indiameter than the cylindrical post top section of the center limitingcomponent 57 but may be smaller in diameter than its flattened section.

When the magnetic UID embodiment 50 is assembled, the cylindrical postsection of the center limiting component 57 may be fitted through thehole of the bottom spring mounting piece 61 so that the flattenedsection of the center limiting component 57, which may have a largerdiameter than the hole of the bottom spring mounting piece 61, ispositioned along the bottom of the bottom spring mounting piece 61.Manual actuator 51 may thereby be secured to the bottom spring mountingpiece 61, limiting travel and over extension of the springs 56. Thepositioning of the center limiting component 57 through the bottomspring mounting piece 61 creates a mechanism for restricting the rangeof motion the actuator 51, thereby preventing over stressing of thesprings 56. The bottom spring mounting piece 61 may be mounted to thetop of the bottom base 52 using a screw 58 and/or other attachmentmechanisms.

Referring to FIG. 5, top spring captures 51 a may be evenly spaced aboutthe internal circumference of manual actuator 51. Between each of thetop spring captures 51 a one of each of the magnet mounts 51 b may bedisposed. By positioning the cylindrical magnets 54 (as illustrated inFIGS. 2-4) as far along the internal circumference as possible, thedistance between one of the cylindrical magnets 54 and the other ones ofthe cylindrical magnets 54 may be maximized within the actuator 51,which may thereby reduce interference. For example, if the distancebetween each of the cylindrical magnets 54 is maximized to the extentpossible within a particular actuator shape, each magnetic fieldgenerated by the cylindrical magnets 54 may be correspondingly minimallyinfluenced by the magnetic field of the other cylindrical magnets 54. Inan exemplary embodiment, springs 56 may be positioned as far towards theinternal circumference of actuator 51 as is practical.

FIGS. 6 and 7 illustrate details of an alternate embodiment 63 of amagnetic UID, which is similar to embodiment 50 of FIGS. 1-5 except thatembodiment 63 further includes an elastomeric covering 64 formed withfour switch bumps 64 a. In magnetic UID embodiment 63, each of theswitch bumps 64 a may be formed in the general shape of a dome andpositioned along the vertical surface of the elastomeric covering 64 toallow user interaction with corresponding switches, which may be used togenerate signals to be provided to a coupled computer or otherelectronic computing system. The switch bumps 64 a may also bepositioned evenly about the circumference defined by the verticalsurface of the elastomeric covering 64.

The switch bumps 64 a may be mechanically associated with acorresponding switch (not illustrated) that may be mounted to actuator51, such as underneath the elastomeric covering 64. Suitable switchesinclude, but are not limited to, electro-mechanical switches, as well aspressure sensitive variable resistance, capacitance, or inductanceswitching devices. In addition, optical interruption or variableintensity devices including interrupted or frustrated total internalreflection may be used as switches in some embodiments. Flexible wiring(not illustrated), a flex circuit (not illustrated), and/or springs 56are example components that may be used to provide electricalconnections from the switches to an associated PCB, such as to theclover leaf shaped printed circuit board 60.

The switch bumps 64 a, when manually depressed, may be configured toafford the user a plurality of push button controls. A set of lines 65in FIG. 6 illustrate direction that radial inward force may be appliedto the switch bumps 64 a to activate the push button control. A user'shand 66 (as shown in FIG. 7) can grasp and squeeze the top of the manualuser interface device 63, and the thumb and fingers of the user's had 66can individually activate the switch bumps 64 a, with the activationthen processed to initiate commands in an output signal to be providedto the electronic computing system. For example, squeeze or otherdeformation actions may be applied to the actuator, either alone or incombination with the switches, to signal user interactions with theelectronic computing system. In a computer aided design (CAD) system,for example, a squeeze and/or switch actuation may be interpreted aspicking up of a virtual object on a display screen of the electroniccomputing system.

In other applications, a squeeze of the manual user interface device 63may be used to indicate a particular action in a video gaming system orfor selecting text or other elements in a document interface, eitheralone or in combination with the switches. For example, the switch bumps64 a may serve the function of right and left mouse clicks of a cursorcontrol device. Various other positions and arrangements of the switchbumps 64 a and switches are possible to optimize ergonomics orparticular use of the manual user interface device 63.

Though the above-described types of switching is represented in theembodiment 63, similar switching device configurations may also beadapted for use in the various other embodiments of magnetic UIDs.Although embodiment 50 and embodiment 63 illustrate two configurationsof magnetic UIDs that may advantageously be used with the variousprocesses as described herein, other configurations of manual userinterface devices may include a variety of quantity, shapes, and/orarrangements of magnets and/or associated sensors to provide additionalsensing functions. In addition, it is noted that various other types ofmagnetic sensors in addition to the described Melexis MLX90333 sensor(that specifically measures the Hall effect) may also be used such as,but not limited to, GMR sensors and InSb magnetoresistors.

Multi-axis magnetic sensors, such as Hall effect sensors 55 of FIGS.2-4, sense multiple magnetic field components (typically in three axes)and generate corresponding sensor data. The sensor data may then beprovided to a processing element, comprising a microprocessor,microcontroller, DSP, ASIC, or other programmable processing device orcomponent. Because the magnetic field components are measurements ofmagnetism rather than positions in space, the processing element must beconfigured to interpret the magnetic field components as a position ofeach magnet relative to its corresponding magnetic sensor. Theinterpreted position may be relative to a reference position, such as areleased state position or other position (e.g., a reference position atan offset from the released state position that may be adjusted for orcompensated for during processing of the magnetic sensor signals).

FIG. 8 illustrates details of an embodiment 68 of circuitry that may beused to couple a manual user interface device, such as devices 50 or 63,to an electronic computing device or system such as a personal computer(PC) 70, which may be a notebook or laptop computer, desktop computer,tablet computer, smart phone, or other computing device.

In operation, sensors 55 may generate signals, such as periodically orasynchronously, associated with sensed displacements of the cylindricalmagnets 54 (sensors may also generate signals during time periods whenthe magnets and associated actuator(s) are in a released position,and/or the user interface device may use determination of a releasedstate for a period of time to control other functions, such ascontrolling power consumption.

The sensor signals may be sensed at one or more positions of themagnets, which may be positions relative to a reference or releasedstate position. The sensed signals may then be sent to a processingelement such as, for example, an ARM (or other) processor 69, which maybe an NXP LCP2366 microcontroller or other processing device. The sensedsignals may be in digital format or may be converted to digital format(if in analog format) by an analog-to-digital converter (A/D), which maybe in the processor or in a separate device. The processor may thenperform one or more processing methods on the received signals, such asthose described subsequently herein, to determine information such as anestimated position, motion, and/or deformation of the actuator and/orassociated magnets. The information may be provided in an output signal,which may be sent as output data, in a compatible format, to the PC 70or other electronic computing device.

In an exemplary embodiment, a serial peripheral interface (SPI), orother parallel or serial connection 71, may be used to transmit sensoroutput signals from the sensors 55 to the processor 69. A ground (GND)connection 72 and a power connection 73 may also connect the sensors 55to the ARM processor 69. The PC 70 may be connected to the processor 69by a USB connection 74, which may advantageously provide both datatransmission between the processor 69 and PC 70 and power to the ARMprocessor 69. Variations of the circuitry 68 as illustrated in FIG. 8will be apparent to those skilled in the art. For example, differentcircuitry embodiments may have a different quantity of sensors andmagnets, different power and interface circuitry, use differentcomponents, or have other differences in configuration. For example,different types of processing elements, such as differentmicrocontrollers and/or different circuits for transmitting data and/orpower to the manual user interface device, may be used.

FIG. 9 illustrates details 900 of an embodiment of a magnetic fieldsensing configuration and associated magnets consistent with the presentinvention. In an exemplary embodiment, the magnetic sensors, may beconfigured to measure three magnetic field components, notated herein asB_(x), B_(y), and B_(z), associated with corresponding magnets so thateach of these three component measurements corresponds to a sensed valuealong one of three axes of diagram 900. A magnetic field component inthe X-Y plane extending radially from the Z axis, notated herein asB_(r), may also be calculated in a processing element by solving forB_(r) as SQRT(B_(x) ²+B_(y) ²). By calculating B_(r), the sensor signalsmay be processed using a magnetic field model configured in the form oflookup tables (such as described subsequently herein), which maysimplify processing and/or preserve storage space for memory associatedwith the processing element.

FIGS. 10 and 11 illustrate portions of example lookup tables (LUTs) 1000and 1100, respectively, that may be used to process received sensorinformation to determine position, motion, and/or deformation estimatesfor the magnets and associated actuator. LUT 1000 is a radialdisplacement lookup table and LUT 1100 is a Z-axis displacement lookuptable. In order to interpret magnetic field components to determinepositional information of a corresponding magnet, such as ones of thecylindrical magnets 54 of FIGS. 1-8, a processing element may use thesensed magnetic field component values (as may be generated by magneticsensors, such as sensors 55 of FIG. 8) to retrieve information from aradial displacement lookup table 1000 and a Z-axis displacement lookuptable 1100. The values of the field model data represented in the lookuptables may be calculated using commercially available modeling softwaresuch as, for example, finite element modeling software provided byCOMSOL (available at www.comsol.com) or other vendors.

In the examples shown in FIGS. 10 and 11, both radial displacement LUT1000 and Z-axis displacement LUT 1100 tables are configured in threecolumns. The first column includes a range of measured values thatdescribes a radius in magnetic field component measurements between themagnets and the Z-axis of its corresponding magnetic sensor. In theseexamples the units are milliteslas (mT).

It is noted that measurements in the magnetic field components about xand y may alternately be used in place of radial measurements as shown.Utilizing a radial measurement of the magnetic field components requiressome additional calculations, but may be advantageous in cases whereless storage space is available, since radial information typicallyrequires far less storage space. The second column includes a range ofmeasured values along the Z-axis in magnetic field componentmeasurements between the magnets and corresponding magnetic sensors(similarly in milliteslas (mT)). Pairing of values from the first columnto those of the second column will correspond to actual positionalinformation between the permanent magnet and corresponding magneticsensor.

In the radial displacement lookup table 1000, partially illustrated inFIG. 10, the third column corresponds to a radial distance from theZ-axis between each of the magnets and corresponding magnetic sensorsmeasured in millimeters. Note that the radial displacement lookup table1000 illustrated in FIG. 10 is a partial illustration as a larger rangeof values is generally used in practice. In the Z-axis displacementlookup table 1100, partially illustrated in FIG. 11, the third columncorresponds to a Z-axis distance between the magnets and correspondingsensors. Again, the Z-axis displacement lookup table 1100 illustrated inFIG. 11 is a partial illustration as a larger range of values isgenerally used in practice.

The information in the magnetic field model defining the relationshipbetween the magnetic field component measurements and positioningbetween the magnets and magnetic sensors may be generated in variousways. For example, empirical direct measurement may be used. Anothermethod of generating this information is by mathematically modeling therelationship. Mathematical modeling software, such as COMSOL, may beused when utilizing this approach. Other methods include, but are notlimited to, using magnetic theory to calculate these relationships andutilizing an over determined self-fit model. An overdetermined self-fitmodel is an empirical approach wherein movement of the magnets about themagnetic sensors are used to refine the lookup table through use of themanual user interface device.

Once the positional data about each magnetic sensor has been determined,one or more processing algorithms may be used to interpret the radialand Z-axis positions as positions along three Cartesian axes. Individualinterpretation of the position of each of the magnets allows forcomparison of the displacement of each magnet with the other magnets tointerpret the position and orientation of the actuator, as well asactions such as squeezes or other deformations. Commands or otherinformation to be provided to an electronic computing system may then begenerated according to the specific displacements of the actuator, suchas in the form of position information, deformation information, motioninformation, switch actuations, and/or other magnetic UID information,and transferred, in an appropriate signaling format, from the magneticUID to the electronic computing system.

FIG. 12 illustrates details of an embodiment of a process 1200 fordetermining the position of magnets, such as the magnets 54 shown inFIG. 8, in relation to corresponding magnetic sensing elements, such ascorresponding magnetic sensors 55, from the magnetic field componentmeasurements. In a typical configuration, one magnet is paired with onemagnetic sensor; however, other configurations of magnets and magneticsensors may be used in some embodiments. At stage 1210, magnetic fieldcomponents may be measured by the magnetic sensors in one or moredimensional axes, typically in three orthogonal axes for each sensordevice. In the example process 1200, three-dimensional measurements maybe made by the magnetic sensors, with the three-dimensional axes ofmeasurement denoted as B_(x), B_(y), and B_(z). In an exemplaryembodiment, multi-axis sensors, such as two or three axis magneticsensors, may be used to sense magnetic fields in all three axis at asingle reference point on or in the sensor. The sensing may be periodic,such as at 1 millisecond or 10 millisecond intervals or at otherperiodic sensing intervals, and/or may be asynchronous, such as at arate or time determined by a relative amount of motion, or responsive toan interrupt or other circuit action, such as in time intervalsdetermined by a power control circuit or other circuit.

At stage 1220, the measured magnetic field component information may betransferred or otherwise provided to a processing element, such as toARM processor 69 as shown in FIG. 8 (and/or to other processing elementsin various embodiments, such as ASICs, DSPs, FPGAs, othermicrocontrollers, or programmable devices). The transferred informationmay be in an analog or digital format, depending on the outputcapabilities of the magnetic sensors and the input capabilities of theprocessing element.

notated herein as B_(x), B_(y), and B_(z), associated with correspondingmagnets so that each of these three component measurements correspondsto a sensed value along one of three axes of diagram 900. A magneticfield component in the X-Y plane extending radially from the Z axis,notated herein as B_(r), may also be calculated in a processing elementby solving for B_(r) as SQRT(B_(x) ²+B_(y) ²). By calculating B_(r), thesensor signals may be processed

At stage 1230, a radial magnetic field component may be calculated. Forexample, the equation SQRT(B_(x) ²+B_(y) ²) may be processed in theprocessing element to generate a value for B_(r), the value of themagnetic field component extending radially from the Z axis at thesample time. As noted previously, determining B_(r) may be advantageousin applications where storage capability is constrained; however, insome embodiments, signal processing using B_(X) and B_(Y), rather thanB_(r), may alternately be used.

At stage 1240, with a known value of B_(r) and B_(z), one or more lookuptables, such as example radial displacement lookup table 1000 andexample Z axis displacement lookup table 1100, may be accessed by theprocessing element to establish a radial displacement from the Z axisrespectively and a position along the Z axis. The radial displacement isdenoted hereafter as r and the position along the Z axis is denotedhereafter as z.

At stage 1250, calculations may be done to determine x and y xy valuesdefining an estimated location of the magnet in relation to thecorresponding magnetic sensor, such as in a Cartesian coordinate system.In a typical application, the expression B_(x)/B_(y) may be assumed tobe proportionate to the expression x/y, and the values of x and y x maybe found by:

$x = {{\frac{B_{x}}{B_{y}}y\mspace{14mu}{and}\mspace{14mu} y} = {\frac{B_{y}}{B_{y}}{\sqrt{\frac{r^{2}}{1 + \left( \frac{B_{x}}{B_{y}} \right)^{2}}}.}}}$

In this way, positional information of each magnet in the form of x, y,and z, xyz coordinates may be determined with respect to each magnet'scorresponding magnetic sensor. In other embodiments, alternatecoordinate systems may be used for the output information if such acoordinate system would be advantageous in either processing sensor dataor providing output data from the user interface device to an electroniccomputing device or system. For example, in some applications it may bedesirable to provide output information in a non-Cartesian coordinatesystem, such as one using angle and magnitude information to represent aposition in space, in which case the signals from the magnetic sensorsmay be processed directly in the non-Cartesian coordinate system andoutput in the non-Cartesian system. In some embodiments, it may bedesirable to solve directly for position in a Cartesian system and thenconvert this information to a non-Cartesian coordinate system, or solvein one non-Cartesian coordinate system and output the positionalinformation in a second, different non-Cartesian coordinate system.

In addition, in some embodiments, other processing stages and/oralgorithms may be used in addition to, or in place of, the lookup tablesto solve for position information of the magnets and/or actuator. Forexample, the magnetic field model may be a closed form solution model,such as may be generated analytically by, for example, solving magneticfield equations based on the particular magnet and sensor configuration,or by generating a mathematical model based on measured data forparticular magnet and sensor configurations and fitting the measureddata to a closed-form model.

FIG. 13 illustrates details of another embodiment of a process fordetermining the position of magnets, such as the magnets 54 shown inFIG. 8, in relation to corresponding magnetic sensing elements, such ascorresponding magnetic sensors 55, from magnetic field componentmeasurements. As shown in FIG. 13, process 1300 may be used to determinethe positions of the magnets in relation to corresponding magneticsensors using an indexed table of possible magnetic field values.

At stage 1310, magnetic field components for each magnet, B_(x), B_(y),and B_(z), may be measured by ones of corresponding magnetic sensors. Inan exemplary embodiment, this may be done by a three-axis magneticsensor. At stage 1320, the magnetic field component measurements may betransferred or otherwise provided to a processing element or module,such as to ARM processor 69 as shown in FIG. 8 (and/or to otherprocessing elements in various embodiments, such as ASICs, DSPs, FPGAs,other microcontrollers, or programmable devices).

At stage 1330, B_(r) may be calculated in the processing element, suchas by solving the equation B_(r)=SQRT(B_(x) ²+B_(y) ²). At stage 1340,lookup tables, such as two indexed tables, including a first table, B_(r), of magnetic field components in the radial direction and a secondtable, B _(z), of magnetic field components in the z direction, may beaccessed to find the pair of table values B _(r)(N_(r), N_(z)), B_(z)(N_(r), N_(z)), that most closely correspond to the measured values,B_(r) and B_(z).

The most closely related B _(r)(N_(r), N_(z)), B _(z)(N_(r), N_(z)) pairto each measured (B_(r), B_(z)) pair may be identified, for example, asthe minimum value of the expression |B_(r)−B _(r)(N_(r),N_(z))|+|B_(z)−B _(z)(N_(r), N_(z))| for the set of possible pairs ofvalues in the tables B _(r) and B _(z). The tables B _(r) and B _(z) maybe organized such that the values of r linearly increase with the indexN_(r) at spacing M_(r) with offset D_(r) and the values z increaselinearly with the index N_(z) at spacing M_(z) with offset D_(z), or inother suitable configurations.

At stage 1350, a value for r may be determined given the index N_(r)according to the relationship r=N_(r)*M_(r)+D_(r). Similarly, a valuefor z may be calculated from the index N_(z) according to therelationship z=N_(z)*M_(z)+D_(z). Alternatively, it will be apparent tothose skilled in the art that the tables may also be arranged in variousnon-linear configurations and that corresponding suitable functions maybe evaluated to relate the (N_(r), N_(z)) pair to their correspondingvalues of r and z.

At stage 1360, x and y values in Cartesian coordinates may bedetermined. In a typical application, the expression B_(x)/B_(y) may beassumed to be proportionate to the expression x/y, and the values of xand y may be found by solving:

$x = {{\frac{B_{x}}{B_{y}}y\mspace{14mu}{and}\mspace{14mu} y} = {{\frac{B_{y}}{B_{y}}\sqrt{\frac{r^{2}}{1 + \left( \frac{B_{x}}{B_{y}} \right)^{2}}}}..}}$Accordingly, positional information for each magnet in the form of x, y,and z coordinates may be established relative to corresponding magneticsensors.

In other embodiments, alternate coordinate systems may be used for theoutput information if such a coordinate system would be advantageous ineither processing sensor data or providing output data from the userinterface device to an electronic computing device or system. Forexample, in some applications it may be desirable to provide outputinformation in a non-Cartesian coordinate system, such as one usingangle and magnitude information to represent a position in space, inwhich case the signals from the magnetic sensors may be processeddirectly in the non-Cartesian coordinate system and output in thenon-Cartesian system. In some embodiments, it may be desirable to solvedirectly for position in a Cartesian system and then convert thisinformation to a non-Cartesian coordinate system, or solve in onenon-Cartesian coordinate system and output the positional information ina second, different non-Cartesian coordinate system.

In addition, in some embodiments, other processing stages and/oralgorithms may be used in addition to, or in place of, the lookup tablesto solve for position information of the magnets and/or actuator. Forexample, the magnetic field model may be a closed form solution model,such as may be generated analytically by, for example, solving magneticfield equations based on the particular magnet and sensor configuration,or by generating a mathematical model based on measured data forparticular magnet and sensor configurations and fitting the measureddata to a closed-form model.

FIG. 14 illustrates an embodiment of a process 1400 for usinginterpolation to refine positional data of magnets and/or associatedactuators. At stage 1410, the magnetic field components B_(x), B_(y),and B_(z) may be measured by a magnetic sensor, such as describedpreviously. At stage 1420, the measured magnetic field components may betransferred to a processing element, such as the ARM processor 69 asshown in FIG. 8 (and/or to other processing elements in variousembodiments, such as ASICs, DSPs, FPGAs, other microcontrollers, orprogrammable devices).

At stage 1430, a value of B_(r), the magnetic field component extendingradially from the Z axis, may be determined, such as by solving forSQRT(B_(x) ²+B_(y) ²). In an exemplary embodiment, lookup tables may beused, such as described previously. The B _(r) and B _(z) values may beuniformly spaced within the tables.

At stage 1440, since measured values of B_(r) and B_(z) may not directlycorrespond to a (B _(r), B _(z)) pair as found in a radial positionlookup table, such as the radial position lookup table 1000 shown inpart in FIG. 10, or a Z-axis position lookup table, such as the Z-axisposition lookup table 1100 as shown in FIG. 11, a set of closereferenced measurements, such as, for example, the four (or other) mostclosely referenced measurements in the lookup table, may be used toproduce a more accurate approximation of the positional data of eachmagnet. In an example embodiment using the four closest pairing, thefour closest (B _(r), B _(z)) pairings referenced in each table may bedenoted as (B_(r1), B_(z1)), (B_(r1), B_(z2)), (B_(r2), B_(z1)),(B_(r2), B_(z2)), where (B_(r), B_(z)) may be measured between thesefour closest (B _(r), B _(z)) pairings.

For each of these four closest (B _(r), B _(z)) pairings, an r value andz value may be found from a radial position lookup table, such as theradial position lookup table 1000 shown in part in FIG. 10, and a Z-axisposition lookup table, such as the Z-axis position lookup table 1100shown in FIG. 11. These values may be denoted such that (B_(r1), B_(z1))results in a (r₁, z₁) pairing, (B_(r1), B_(z2)), results in a (r₂, z₂)pairing, (B_(r2), B_(z1)) results in a (r₃, z₃) pairing and (B_(r2),B_(z2)) results in a (r₄, z₄) pairing. In embodiments using other lookuptable configurations, a set of closest reference values in theparticular coordinate space used may similarly be generated.

Interpolated r and z values, which may be denoted as r and z, may thenbe determined. For example, interpolated values may be found by solvingthe following to determine;

$\overset{\_}{r} = {{\left( {1 - \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}}} \right)\left( {1 - \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}}} \right)r_{1}} + {\left( {1 - \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}}} \right)\left( \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}} \right)r_{2}} + {\left( \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}} \right)\left( \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}} \right)r_{3}} + {\left( \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}} \right)\left( {1 - \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}}} \right)r_{4}}}$and$\overset{\_}{z} = {{{\left( {1 - \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}}} \right)\left( {1 - \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}}} \right)z_{1}} + {\left( {1 - \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}}} \right)\left( \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}} \right)z_{2}} + {\left( \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}} \right)\left( \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}} \right)z_{3}} + {\left( \frac{B_{r} - B_{r\; 1}}{B_{r\; 2} - B_{r\; 1}} \right)\left( {1 - \frac{B_{z} - B_{z\; 1}}{B_{z\; 2} - B_{z\; 1}}} \right)z_{4}}}..}$In embodiments using other lookup table configurations, interpolatedvalues determined in the particular coordinate space may similarly begenerated.

At stage 1450, x and y values describing the location of the magnet inrelation to the corresponding magnetic sensor in a Cartesian coordinatesystem may be determined, such as described previously herein. In atypical application, the expression B_(x)/B_(y) may be assumed to beproportionate to the expression x/y, and the values of x and y may befound by solving:

$x = {{\frac{B_{x}}{B_{y}}y\mspace{14mu}{and}\mspace{14mu} y} = {{\frac{B_{y}}{B_{y}}\sqrt{\frac{r^{2}}{1 + \left( \frac{B_{x}}{B_{y}} \right)^{2}}}}..}}$

In this way, positional information of each magnet in the form of x, y,and z coordinates is established with respect to its correspondingmagnetic sensor. In other embodiments, alternate coordinate systems maybe used for the output information if such a coordinate system would beadvantageous in either processing sensor data or providing output datafrom the user interface device to an electronic computing device orsystem. For example, in some applications it may be desirable to provideoutput information in a non-Cartesian coordinate system, such as oneusing angle and magnitude information to represent a position in space,in which case the signals from the magnetic sensors may be processeddirectly in the non-Cartesian coordinate system and output in thenon-Cartesian system. In some embodiments, it may be desirable to solvedirectly for position in a Cartesian system and then convert thisinformation to a non-Cartesian coordinate system, or solve in onenon-Cartesian coordinate system and output the positional information ina second, different non-Cartesian coordinate system.

In addition, in some embodiments, other processing stages and/oralgorithms may be used in addition to, or in place of, the lookup tablesto solve for position information of the magnets and/or actuator. Forexample, the magnetic field model may be a closed form solution model,such as may be generated analytically by, for example, solving magneticfield equations based on the particular magnet and sensor configuration,or by generating a mathematical model based on measured data forparticular magnet and sensor configurations and fitting the measureddata to a closed-form model.

Some user interface device embodiments may provide actuator tiltingfunctionality. During tilting displacements of the actuator andcorresponding magnets in these embodiments, a recalculation may be madewhereby the calculated tilt of the actuator may be used determine thetilt of each individual magnet. The determined degree and direction ofthe tilt of each magnet may be then used to rotate the frame ofreference for each corresponding magnetic sensor. Higher sensitivity foruser interface devices may be achieved by using this processing approachto further refine positional information for each magnet during tiltingdisplacements.

FIG. 15 illustrates details of an embodiment of a process 1500 that maybe used for interpreting the state of displacements in a manual userinterface device that employs magnetic sensors such as sensors 55.Process 1500 may be used in various embodiments to distinguishbackground or noise signals from signals caused by user interaction withthe magnetic UID. The term “sensor state,” when used herein in referenceto a magnetic sensor, refers to state interpretations of the measuredmagnetic field components corresponding to user interaction with themagnetic UID. For example, in some implementations, sensor states mayinclude a released state in which no operator-initiated forces areacting upon the manual actuator, and a displaced (or deformed) state inwhich operator-initiated forces are acting upon the manual actuatorcausing displacements or deformations of the manual actuator andmagnets. In addition, in some implementations, reentry states may bedefined wherein a reentry state defines a state where the manual userinterface device is transitioning between a released state and displacedor deformed state or vice versa. In the embodiment of FIG. 15, onlydisplaced and released states are processed, whereas in processembodiment 1600 of FIG. 16 (described subsequently herein), reentrystates are further used.

Process 1500 may begin at stage 1502, where data associated with thesensor state may be accessed. Assuming no user interaction, the sensorstate may be defined initially as being in a released state (e.g., priorto a first use of the magnetic UID). At stage 1504, an additionalposition determination process, such as the processes described withrespect to FIGS. 12, 13 and/or 14, may be implemented to determinepositions of magnets in relation to corresponding magnetic sensors. Atstage 1506, Cartesian coordinates (or other position coordinates)defining the location of the magnet determined at stage 1504 may bestored as the current magnet position. At decision stage 1508, adecision may be made as to whether the calculated variance in themeasurement of B_(z) is below a predetermined variance threshold.

A predetermined variance threshold may be selected so as to be above thetypical variance of small incidental changes in the measurement of B_(z)due to variables such as noise or other variation inherent in themagnetic sensors, but below expected signals caused by user interactionswith the magnetic UID. As these incidental changes tend to cause smallvariations in the magnetic field component measurements, any variationcaused by even natural unintentional movements of a user's touch on themagnetic UID may result in a greater variation and may therefore bereadily distinguishable from variations below the predetermined variancethreshold. Testing of particular implementations of magnetic UIDs may bedone to determine appropriate variance thresholds, which may then bestored in a memory for access by a processing element during processimplementation.

If a variance in the measurement of B_(z) is at or above thepredetermined variance threshold, a variance counter may be reset atstage 1510, and the sensor state redefined as being in a displaced ordeformed state at stage 1512. Alternately at decision stage 1508, if thevariance in the measurement of B_(z) is below the predetermined variancethreshold, a stage 1514 may be performed in which the variance counteris incremented. At stage 1516, a calculation may be done to determine avalue of Z_(c), the average displacement along the Z axis from a rollingaverage of the most recent center Z axis coordinates. Once Z_(c) hasbeen calculated at stage 1516, a decision may be made at stage 1518 todetermine if Z_(c) is below a predefined Z_(c) threshold and thevariance counter above the variance counter threshold. If Z_(c) is notbelow the Z_(c) threshold or the variance counter is not above thevariance counter threshold, a decision stage 1520 may be implemented todetermine whether Z_(c) is below a Zoutlier threshold and the variancecounter is above an outlier variance counter threshold.

The outlier thresholds may be defined as those magnetic field componentsthat correspond to displacements of the magnet along their outermostpossible positions from a released state. Outlier thresholds may be usedto prevent a magnetic UID from determining a false released state when,for instance, a heavy object is placed on the actuator, causing it to befully depressed but remain motionless in the fully depressed position.If decision stage 1520 results in a “NO” decision, the state may beredefined at stage 1512 to a displaced state. Alternately, if a “YES”decision results at stage 1520, indicating Z_(c) is below the Z_(c)threshold, then processing may proceed to stage 1522. Stage 1522 mayalso be executed if, in the stage 1518, Z_(c) is below the Z_(c)threshold and the variance counter is not below the variance counterthreshold.

At stage 1522, the current magnetic field component measurements may bestored as a new released state reference point. The Cartesiancoordinates (or other coordinate system position coordinates) of themagnets as stored at stage 1522 may also be defined as being themagnets' new center position. At stage 1524, the sensor state may beredefined as a released state. Once the sensor state has been redefined,the stages of process 1500 may be repeated with the reevaluated sensorstate becoming the new sensor state of stage 1502. In some embodiments,similar or equivalent processes may be used to process signals inalternate coordinate systems, such as signals in x, y, z coordinates.

FIGS. 16A and 16B illustrate details of an embodiment of a process 1600that uses a center calibration prism to aid in interpreting the state ofdisplacements in a magnet UID. Process 1600 may be used in place of, orin addition to, process 1500 as described previously with respect toFIG. 15. The term “center calibration prism” as used herein refers to aset of boundaries in magnetic, field measurements of the magnetic UIDthat may be predetermined, such as by a designed or device programmer.Generally, the center calibration prism process is designed to allow acertain degree of noise inherent in the system.

Process embodiment 1600 utilizes two possible states of the magneticfield measurements with respect to the center calibration prism—aninside prism boundary state and an outside prism boundary state. Aninside prism boundary state may be defined by a magnetic sensor'smeasured magnetic field components being within center calibrationprisms boundaries, and an outside prism boundary state may conversely bedefined by any of a magnetic sensor's measured magnetic field componentsbeing outside the boundaries of the center calibration prism. Particularprism boundary states may be stored and redefined periodically, such asat each cycle of process 1600. By appropriately redefining the prismboundary state of process 1600, the manual user interface device maymore accurately interpret the difference between user displacements andfalse displacements based on measurements in the magnetic fieldcomponents and/or may be dynamically readjusted to changing operator orenvironmental conditions. This, in turn, may be used to implement anauto-zeroing or redefining of the released state position of eachmagnet.

Process 1600 may begin at stage 1602, as data associated with the sensorstate is accessed. Initially, the sensor state may be determined asbeing in a released state prior to first use of the manual userinterface device, such as previously described with respect to process1500. Unlike process 1500 of FIG. 15, three sensor states may be used inprocess 1600; a released state, a displaced state, and a reentry state.The definitions of “released state” and “displaced state” are the sameas defined in conjunction with FIG. 15. The term “reentry state” as usedherein refers to a state in which the manual user interface device istransitioning from one sensor state to the other (such as from thereleased state to displaced state or vice-versa).

Generally, the reentry state occurs when the actuator has been releasedfrom a displaced state or moved from a released state and the processingunit has identified a change in the magnetic field componentmeasurements but has yet to determine that the magnetic UID is in adisplaced state or released state. At stage 1604, positional informationmay be determined, such as by the processes described in FIG. 12, 13, or14, where magnetic field components are measured and interpreted as theposition of the magnet in relation to its corresponding magnetic sensor.At stage 1606, the Cartesian coordinates (or other coordinate positions)describing the location of the magnet determined at stage 1604 may bestored as the current magnet position.

At decision stage 1608, a determination may be made as to whether thereis a variance in the measurements of B_(x), B_(y), or B_(z) that isbelow a variance threshold. If the variance in the measurement of B_(x),B_(y), or B_(z) is above or at the variance threshold, a stage 1610 maybe executed where a variance counter is reset to zero. Following stage1610, a decision may be made at stage 1612 as to whether the magneticfield component measurements from stage 1604 are inside a centercalibration prism.

If the magnetic field component measurements are not within the centercalibration prism, the prism boundary state may be redefined as anoutside prism boundary state and stored accordingly at stage 1614 (shownin FIG. 16B), and the sensor state may be determined to be a displacedstate at stage 1616. Conversely, if the magnetic field componentmeasurements are within the center calibration prism, a stage 1618 maybe implemented in which the prism boundary state is redefined as aninside prism boundary state and stored accordingly.

A decision stage 1620 may also be implemented if the magnetic fieldcomponent measurements are within the center calibration prism (asdetermined at stage 1612). At decision stage 1620, a decision may bemade as to whether the prior sensor state was a released state. If theprior sensor state was a released state, a stage 1616 may be implementedin which the sensor state is redefined as a displaced state. Conversely,if the prior sensor state was not a released state, a decision may bemade at decision stage 1622 as to whether the prior sensor state was ina displaced state and the prior prism boundary state is an outside prismboundary state. If the prior sensor state was a displaced state and theprior prism boundary state is an outside prism boundary state, thesensor stage may be redefined as a reentry state at stage 1624. If thepast sensor state was not a displaced state or the past prism boundarystate was not an outside prism boundary state then, at stage 1626, nochange from the prior sensor state to the reevaluated sensor state needbe made.

Referring back to decision stage 1608 of FIG. 16A, if the variance inthe measurement of B_(x), B_(y), and B_(z) is below the variancethreshold (at stage 1608), a stage 1628 may be implemented, incrementingthe variance counter. At stage 1630, a calculation may be made todetermine the difference between the sensor component measurements ofstage 1604 and the center calibration prism, and at decision stage 1632,a determination may be made as to whether the current magnetic componentmeasurements are inside the center calibration prism and if the variancecounter above the variance counter threshold. If stage 1632 results in a“YES” decision, a stage 1634 (as shown in FIG. 16B) may be implemented.At stage 1634, the measured magnetic field components from stage 1604may be defined as the new reference point. The Cartesian coordinates ofthe magnet from stage 1604 may also be defined as a new magnet centerposition. Following stage 1634, the sensor state may be redefined as areleased state at stage 1636 and the prism boundary state may beredefined as an inside prism boundary state at stage 1618.

If stage 1632 results in a “NO” decision, processing may proceed todecision stage 1612 (as shown in FIG. 16B), where a decision may be madeas to whether the magnetic field component measurements from stage 1604are inside a center calibration prism. If the magnetic field componentmeasurements are not within the center calibration prism, stage 1614 maybe implemented, where the prism boundary state may be redefined as anoutside prism boundary state and stored accordingly. If the magneticfield component measurements are within the center calibration prism,stage 1618 may be implemented with the prism boundary state redefined asan inside prism boundary state and stored accordingly.

Decision stage 1620 may also be implemented if the magnetic fieldcomponent measurements are within the center calibration prism. Atdecision stage 1620, a decision may be made as to whether the prior orpast sensor state was a released state. If the prior sensor state was areleased state, stage 1616 may be implemented, with the sensor stateredefined as a displaced state.

If the prior sensor state was not a released state, a decision may bemade at stage 1622 as to whether the prior sensor state was a displacedstate and the prior prism boundary state is an outside prism boundarystate. If the prior sensor state was a displaced state and the priorprism boundary state is an outside prism boundary state, the sensorstate may be redefined as a reentry state at stage 1624. If the pastsensor state was not a displaced state and the past prism boundary statewas not an outside prism boundary state then, at stage 1626, no changefrom the prior sensor state to the reevaluated sensor state need bemade. Once the sensor and prism boundary states have been redefined andstored accordingly, the stages of the process 1600 may be repeated, withthe redefined sensor and prism boundary states carried back through tostage 1602 for subsequent process execution.

FIGS. 17A and 17B illustrate details of a process embodiment 1700 thatuses a secondary calibration prism as well as a center calibration prismto aid in interpreting the state of displacements in a magnetic UID. Theterm “center calibration prism” as used herein refers to a set ofboundaries in magnetic field measurements of the magnetic UID that maybe predetermined, such as by a designed or device programmer. The term“secondary calibration prism” as used herein refers to a secondpredetermined set of boundaries in magnetic field measurements that maybe similarly determined and predefined. The boundaries of the centercalibration prism may be selected such that they lie within theboundaries of the secondary calibration prism. Generally, the centercalibration prism and the secondary calibration prism are designed toallow a certain degree of noise inherent in the system.

The secondary calibration prism may allow for the center calibrationprism to be redefined due to small variances in particular, redefiningthe center calibration prism's centroid or location. Process 1700 mayutilize two possible states of the magnetic field measurements withrespect to the center calibration prism; an inside prism boundary stateand an outside prism boundary state. Both the inside prism state and theoutside prism state may be defined with respect to the centercalibration prism.

Process 1700 may begin at stage 1702, as data regarding the sensor stateis accessed, such as described previously with respect to processes 1500and 1600. Initially, the sensor state may be determined as being in areleased state prior to first use of the manual user interface device,as in processes 1500 and 1600. Three sensor states may be used inprocess 1700; a released state, a displaced state, and a reentry state.The definitions of “released state” and “displaced state” are the sameas defined with respect to FIG. 15.

At stage 1704, a positional determination may be made, such as describedwith respect to the processes of FIG. 12, 13, or 14 by which magneticfield components are measured and interpreted as the position of themagnet in relation to its corresponding magnetic sensor. At stage 1706,the Cartesian coordinates (or other coordinate system positions)describing the location of the magnet determined at stage 1704 may bestored as the current magnet position. At decision stage 1708, adetermination may be made as to whether the variance of the measured ofB_(x), B_(y), or B_(z) is below a variance threshold. If the variance inthe measurement of B_(x), B_(y), or B_(z) is at or above the variancethreshold, a stage 1710 may be implemented and a variance counter resetto zero.

Subsequent to stage 1710, a decision may be made at stage 1712 as towhether all the magnetic field component measurements from stage 1704are inside a center calibration prism. If any magnetic field componentmeasurements are not within the center calibration prism, a decision maybe made at stage 1714 as to whether the variance counter is above thesecondary reset counter threshold. If the variance counter is not abovethe secondary reset counter threshold, the prism boundary state may beredefined as an outside prism boundary state and stored accordingly atstage 1716 and the sensor state may be determined to be a displacedstate at stage 1718.

If the variance counter is above the secondary reset counter threshold,a decision may be made at stage 1720 if there are any of the magneticfield component measurements outside the center calibration prism andinside the secondary calibration prism. If there are not any of themagnetic field component measurements outside the center calibrationprism and inside the secondary calibration prism, the prism boundarystate may be redefined as an outside prism boundary state and storedaccordingly at stage 1716, and the sensor state may be determined to bea displaced state at stage 1718.

If there are any of the magnetic field component measurements outsidethe center calibration prism or inside the secondary calibration prism,for each axis that satisfies the previous condition, the prism's centercoordinates may be updated and displaced at stage 1722 such that thecurrent magnetic field component measurements are inside the updatedcenter calibration prism. At stage 1724, the variance counter may bereset, and at stage 1726, the prism boundary state may be redefined asan inside prism boundary state and stored accordingly.

If all the magnetic field component measurements are inside the centercalibration prism at decision stage 1712, the prism boundary state maybe redefined as an inside prism boundary state and stored accordingly atstage 1726, and a decision may be made at decision stage 1728 as towhether the past or previous state was a released state. If the pastsensor state was a released state, stage 1718 may be implemented toredefine the sensor state as a displaced state. Conversely, if the pastsensor state was not a released state, a decision may be made atdecision stage 1730 as to whether the past sensor state was a displacedstate and the prism boundary state an outside prism state. If the pastsensor state was a displaced state and the prism boundary state was anoutside prism state, the sensor state may be redefined as a re-entrystate at stage 1732. If the past sensor state was not a displaced or andthe prism boundary state was not an outside prism state, at stage 1734no change in sensor state need be made.

Referring back to stage 1708 as shown in FIG. 17A, if the variance inthe measurement of B_(x), B_(y), and B_(z) is below the variancethreshold, a stage 1736 may be implemented, incrementing the variancecounter. At stage 1738, a calculation may be made to determine thedifference between the sensor component measurements of stage 1704 andthe center calibration prism. A decision may be made at stage 1740 as towhether the current magnetic component measurements are inside thecenter calibration prism and if the variance counter above the variancecounter threshold. If stage 1740 results in a “YES” decision, a stage1742 may be.

At stage 1742, the measured magnetic field components from stage 1704may be defined as the new reference point, and the Cartesian coordinates(or other coordinates system positions) of the magnets from stage 1704may also be defined as a new magnet center position. The sensor statemay be redefined as a released state in a step 1744, and the prismboundary state may be redefined as an inside prism boundary state atstage 1726.

If a “NO” decision is determined at stage 1740, processing may continueto decision stage 1712, where a determination as to whether the magneticfield component measurements from stage 1704 are inside a centercalibration prism and successive stages following stage 1712, asdescribed previously, may be implemented. Once the sensor and prismboundary states have been redefined and stored accordingly, processingmay be repeated, with the redefined sensor and prism boundary statescarried back through to stage 1702, where process 1700 may be repeated.

FIG. 18 illustrates details of an embodiment of a process 1800 fordetermining displacement of a manual actuator by sensing displacement ofmagnets, such as cylindrical magnets 54 of FIG. 8. In an exemplaryembodiment, the position of each magnet relative to the other magnets isknow, such as by design or measurement, testing. Assuming the placementis know, a center point of the magnets may be defined or determined whenthe manual user interface device is in a released state at stage 1810.For example, the center point of each of the magnets, while the manualuser interface device 50 is in the released state, may be denoted as C,and may be defined as the closest point equidistant to the position ofeach of the magnets.

The position of each of the magnets in relation to C, while the manualuser interface device is in the same released state, is denoted hereinwith the letter C and a sequential subscript number starting at C₁. Forexample, if a particular embodiment has four magnets, the positions ofmagnets 1 through 4 would be denoted as C₁, C₂, C₃, and C₄,respectively.

As different embodiments may contain different numbers of the magnets,different embodiment may have a different total number of sequentialsubscript numbers preceded by a C. For example, given a manual userinterface device with four magnets, with C as the center point of thefour magnets at coordinates (or position) (x₀, y₀, z₀), C₁) would be atcoordinates (x₀+n, y₀, z₀), C₂ would be at coordinates (x₀+n,y₀,z₀), C₃would be at coordinates (x₀−n, y₀, z₀), and C₄ would be at coordinates(x₀,y₀−n,z₀) in relation to position C, where n is the distance betweenC and any of the magnets. These locations may be defined at stage 1820.

When a displacement of the magnets has occurred, such as by usermovement (e.g., rotation and/or translation) and/or deformation (e.g.,squeeze) of the actuator, each displaced position of the magnets may bedenoted with the letter S S and a sequential subscript number beginningat S₁. At stage 1830, the center point of the new actuator configurationresulting from the movement and/or deformation, S, may be determined.For example, by averaging along each axis of the displaced magnetscoordinates, a displaced center, S, may be determined.

At stage 1840, initial lateral displacements of the magnets, denoted asL, may then be calculated by subtracting the coordinates defined by Cfrom those of S so that (S(x)−C(x), S(y)−C(y), S(z)−C(z)) or L=S−C alongeach axis.

At stage 1850, the sums of L and each of the C₁, C₂, C₃, and C₄ may becalculated to determine a series of new positions denoted as L₁, L₂, L₃,and L₄.

At stage 1860, rotation and/or tilt displacements in both distance anddirection from L to S may be calculated by comparing the orientation ofeach L, with respect to L+C, and each S, with respect to S, about each(L, S) pair. By determining the degree and direction of the individualdisplacements about each of the magnets, the direction and degree ofrotation and/or tilt of the actuator may be determined.

Commands that correspond to movements of a cursor, pointer, or other twoor three dimensional object within an electronic computing device maythen be generated based on the determined position changes. For example,commands corresponding to and approximating analogous movement of theactuator may be generated and provided in an output signal.

At stage 1870, the process 1800 may be repeated, such as by returning tostage 1810 or stage 1830 and repeating the process. The process may berepeated periodically, such as at a predetermined or adjustable period,and/or may be asynchronous, such as based on an estimated speed ofmotion of the actuator or other element of the user interface device,based on an interrupt, or based on another action or circuit function.

In embodiments utilizing a magnetically sensed squeezable mechanism,such as described in U.S. patent application Ser. No. 11/37,069 filedMay 26, 2011, entitled USER INTERFACE DEVICES, APPARATUS, AND METHOD,processing may be done in a processing element, such as describedpreviously with respect to FIG. 18, to determine a degree and/ordirection of the squeeze, as well as other information related to thedeformation, such as changes in position between magnets. Thisdeformation information may then be provided as data in an output signalto a personal computer or other electronic computing system.

FIG. 19 illustrates simplified details of an embodiment of a magneticuser interface device having a magnetically sensed squeeze mechanismwith magnets 54 and magnetic sensors 55, along with an embodiment ofcircuitry 1900 for coupling the user interface device to an electroniccomputing system, such as PC 70.

In circuitry embodiment 1900, there are two sets of three of the sensors55 positioned such that three sensors are on the top side of a PCB andthree are located on the underside. Six cylindrical magnets 54 are usedin this embodiment, with three cylindrical magnets 54 located above andcorresponding to the sensors 55 on the top of the PCB and threecylindrical magnets 54 located beneath and corresponding to the sensors55 on the underside.

The sensors 55 generate sensor output signals due to measureddisplacements, which may include squeeze type displacements, of thecylindrical magnets 54, and transmit these signals to a processingelement, such as ARM processor 69 and/or other processing elements. Theprocessing element may implement one or more of the processing methodshereafter described on the sensor signals provided from the sensors 55,and may then send output data, in a compatible format, to PC 70 or toother electronic computing systems.

As shown in FIG. 19, a serial peripheral interface (SPI) (or otherinterface configuration) connection 71 sends the output signals from thesensors 55 to the processor 69. A ground (GND) connection 72 and a powerconnection 73 may also be used to connect the sensors 55 to theprocessor 69. The PC 70 may be connected to the processor 69 by a USBconnection 74 (or other interface configuration for coupling a userinterface device to an electronic computing system), and the connectionmay provide data transmission, power, or both to the processor 69.Variations of the circuitry embodiment 1900 as illustrated in FIG. 19will be apparent to those skilled in the art. For example, differentembodiments may have a different quantity of sensors and/or magnets.Furthermore, different processing elements, such as differentmicrocontrollers or other programmable devices, as well as differentcircuit configurations for sending data and/or power to the userinterface device may be used in various embodiments.

Processing of squeeze-type displacements, which may result indeformation of an element of the user interface device, such as theactuator or a separate squeezable element, may be implemented similar tothe other motion and position sensing described previously herein. Forexample, lookup tables and/or closed form magnetic field models may beused. Similar to the radial displacement lookup table 1000 of FIG. 10and the Z-axis displacement lookup table 1100 of FIG. 11, lookup tablesfor embodiments using magnetically sensed squeeze mechanism may begenerated for squeeze sensing of the magnetic sensors. FIGS. 20 and 21illustrate details of portions of example lookup tables 2000 and 2100that may be used for such processing. In order to interpret magneticfield components as indicative of the position of a magnet, such as eachof the cylindrical magnets 54, a processing element, such as processor69, can use the magnetic field component measurements to access a radialdisplacement lookup table 2000 and a Z-axis displacement lookup table2100.

The data values of the magnetic field model represented in the lookuptables may be calculated using commercially available physical modelingsoftware, such as COMSOL or other modeling tools. In the example LUTembodiments of FIG. 21 and FIG. 22, both radial displacement lookuptable 2000 and Z-axis displacement lookup table 2100 are composed ofthree columns. The first column is composed of a range of the measuredvalues that describes a radius in magnetic field component measurementsbetween the magnets and the Z-axis of its corresponding magnetic sensorin milliteslas (mT). As described previously herein, it is also possibleto use measurements in magnetic field components about x and y y inplace of the radial measurement. Utilizing a radial measurement of themagnetic field components requires some additional calculations but mayadvantageously require less storage space for the processing element.

The second column is composed of a range of measured values along theZ-axis in magnetic field component measurements between the magnets andcorresponding magnetic sensors in milliteslas (mT). Pairing of thevalues from the first column to that of the second column willcorrespond to actual positional information between the magnet andcorresponding magnetic sensor.

In the radial displacement lookup table 2000, partially illustrated inFIG. 20, the third column corresponds to a radial distance from theZ-axis between each of the magnets and corresponding magnetic sensor,measured in millimeters. It is noted that radial displacement lookuptable 2000 as illustrated in FIG. 20 (as well as other lookup tablesdescribed herein) is a partial illustration as a larger range of valuesis generally used in LUTs in practice. In the Z-axis displacement lookuptable 2100, partially illustrated in FIG. 21, the third columncorresponds to a Z-axis distance between the magnets and correspondingsensor. Again, the Z-axis displacement lookup table 2100 illustrated inFIG. 21 is a partial illustration as a larger range of values isgenerally used in practice.

FIG. 22 shows a diagram 2200 illustrating possible positioning ofmagnets within an embodiment of a user interface squeeze mechanism in areleased state. The magnet positions of the three magnets are denoted asC_(i), C_(j), and C_(k) while in a released state and may be calculatedusing methods such as those described with respect to FIGS. 12, 13,and/or 14. Each of these positions may have x, y, and z coordinates suchthat they may be expressed as a point in space, for example, (C_(ix),C_(iy), C_(iz)) The distance between each calculated magnet position maybe denoted as C_(ij) between C_(i) and C_(j), C_(ik) between C_(i) andC_(k), and C_(jk) between C_(j) and C_(k).

FIG. 23 shows a diagram illustrating possible positioning of magnetswithin an embodiment of a user interface squeeze mechanism in adisplaced state due to a squeeze-type deformation. The magnet positionsof the three magnets are denoted as S_(i), S_(j), and S_(k) hile in adisplaced state and may be calculated using methods such as thosedescribed with respect to FIGS. 12, 13, and/or 14. Each of thesepositions may have x, y, and z coordinates such that they may beexpressed as a point in space, for example, (S_(ix), S_(iy), andS_(iz)). The distance between each calculated magnet position may bedenoted as S_(ij) between S_(i) and S_(j), between S_(i) and S_(k), andS_(jk) between S_(j) and S_(k).

The distance between each calculated magnet position, regardless ifdisplaced by a squeeze type displacement or in a released state, may becalculated by taking the magnitude of the vector difference between anytwo calculated magnet positions. For example, C_(ij)=|C_(i)−C_(j)| orC_(ij)=|√{square root over((C_(ix)−C_(jx))²+(C_(iy)−C_(jy))²+(C_(iz)−C_(jz))²)}| may be used tocalculate the distance between C_(i) and C_(j). By performing multiplecalculations, such as by continually comparing these calculated lengthsover a period of time, a squeeze type action may be detected.

A ratio, denoted as R, may be used to determine if the length of a sideof a triangle formed by the three calculated magnet positions increasedor decreased during a time period. For example, a scenario where thecalculated magnet positions move from a released state to a displacedstate may be expressed as R_(ij)=S_(ij)/C_(ij). In this scenario, ifR_(ij) is greater than one, the determined length along that side willhave increased. Where R R is greater than one, the squeeze displacementmay be interpreted as originating from a direction ninety degreesrelative to the triangle side length orientation. Similarly, if R_(ij)is less than one, the determined length along that side will havedecreased. When no change in length has occurred, R will equal one. Inother magnet configurations, similar processing may be done to determinechanges in shape or patterns between the magnets.

Some embodiments, such as illustrated in actuator assembly embodiment2400 of FIG. 24, may use very sensitive magnetic sensors, such as aseries of compass sensors 2410 or other high sensitivity sensors. Thecompass sensors 2410 may be commercially available BLBC3-B CMOS 3DCompass sensors from Baolab Microsystems, Xtrinsic MAG3110 DigitalMagnometers from Freescale or other compass or high sensitivity sensors.

In an exemplary embodiment, five compass sensors 2410 may be used suchthat four of the compass sensors 2410 are positioned circumferentiallyabout a circuit board, such as PCB 60, or other user interface deviceelement such that each of the four compass sensors 2410 correspond to asmall magnet 2420. The other compass sensor 2410 (also denoted as a“reference sensor 2410”) may be positioned, for example, centrally onthe PCB 350 such that it is separated from the other circumferentiallypositioned compass sensors 2410.

In these embodiments, the separated compass sensor 2410 may notcorrespond or be matched to any one of the small magnets 2420, and maybe used as a reference sensor to measure and generate reference signalsthat may be used to subtract off any local or background magneticfields, such as the earth's magnetic field or locally generated magneticfields. By using physically small sensors, such as the compass sensors2410, with closely positioned magnets, such as the small magnets 2420,the physical size of the actuator assembly and overall user interfacedevice may be reduced.

FIG. 25 illustrates details of an embodiment of a process 2500 for usinghigh sensitivity magnetic sensors and associated sensor signaling, suchas described with respect to the user interface device embodiment 2400of FIG. 24, to adjust positional information in a user interface deviceusing signals provided from a reference sensor. For example, process2400 may be used to process magnetic measurements collected by aplurality of high sensitivity magnetic sensors, such as the compasssensors 2410 of FIG. 24, to determining the position of magnets such asthe small magnets 2420 as illustrated in FIG. 24. Process 2500 may beused in conjunction with other processes described herein, such as withthe processes as shown in FIG. 12, FIG. 13, or FIG. 14.

At stage 2510 magnetic field measurements may be generated, such as inthree dimensions, B_(x), B_(y), and B_(z), by a plurality of highsensitivity sensors, such as compass sensors 2410. These may includesignals from high sensitivity sensors associated with magnets, as wellas a reference signal generated by the reference sensor (that is notassociated with a magnet such as magnet 2420).

At stage 2520, the measurement information provided from the referencesensor may be used to adjust information from the other sensors. Forexample, the reference sensor signal information may be subtracted fromeach information provided from each of the other compass sensors 2410 togenerate difference information.

Once the difference between the three circumferentially positioned onesof the compass sensors 2410 and the reference sensor 2410 is calculated,positional information may be determined at stage 2530, such as by usingany of the aforementioned or known methods of determining the positionof a magnet within a magnetically sensed user interface device.

FIG. 26 illustrates details of an embodiment of a system including anelectronic computing device (not shown) coupled to a magnetic UIDembodiment 2600, such as via a USB connection, along with an associatedelectronic computing device monitor 2610. In the magnetic UID embodiment2600, a compass device, such as compass chip or other component (notshown), may be incorporated in a base or other component of the magneticUID 2600 to determine the device's relation to a magnetic reference,such as magnetic north. In such embodiments, the orientation of a user'scomputer monitor, such as monitor 2610, may also be determined inrelation to the magnetic reference through the use of, for example, amagnetic compass 2620.

An internal electronic compass inside the monitor 2610 may also be usedto determine the orientation of the monitor 2610 in relation to themagnetic reference. Alternately, the orientation of the monitor 2610 inrelation to the magnetic reference may be inputted into the computingdevice. By using embodiments with this configuration, as the user movesor rotates the entire user input device 2600 relative to the orientationof the monitor 2610, the electronic compass within the user input device2600 may allow the input coordinate system to rotate. For example,pushing the actuator towards the monitor 2610 may consistently result inthe same relative user interface action. The electronic compass in theuser interface device 2600 may also allow the absolute direction ofmotion of seismic induced accelerations at the operating surface to besensed by the device.

In some embodiments, software may be used whereby the orientation of theuser interface device 2600 in relation to the monitor 2610 is initiallydetermined and stored. In such embodiments, all subsequent incidents ofmoving or rotating the entire user interface device 2600 from theinitial determined orientation to the monitor 2610 may be used to rotatethe input coordinate system accordingly. The same software may also beenabled, during an initial set up process, to use operator intendedactuator motions to correspond to determine the orientation of the userinterface device 2600 with respect to that of the monitor 2610.

It some embodiments, permanent magnets, such as described previouslyherein, may be replaced, in whole or in part, with electromagnets, suchas chip scale electromagnet devices (which may be configured, forexample, similar to small SMT inductors). A high sensitivity sensordevice, such as a compass sensor as described previously herein, may beused with the electromagnet to build a compact, single sensor userinterface device. This approach may be viewed similar to a configurationwhere “permanent” magnets could be switched off and on, thereby allowinguse of two different (electro)magnets with a single compact three axissensor. This allows a far smaller, lower cost, single sensor UI deviceto be built compared to multiple, three axis sensors. Applications forthis type of compact device may include notebook computers, smartphones, tablet devices, or devices where small and/or thin underinterface devices may be useful. Since high sensitivity sensors such ascompass sensors are very sensitive, a very low powered, very smallelectromagnet array (e.g., a cross-shaped pair or other configuration ofelectromagnets) may be used in place of permanent magnets.

One potential advantage of such an implementation is that a pair ofcrossed dipoles (e.g., the energized electromagnets) that are energizedin sequence or in combination may be used to eliminate the ambiguityassociated with the movement around the axis of symmetry of a singledipole, and thereby allow a single three axis sensor to be used whilestill allowing all six degrees of freedom to be sensed. Electromagnetembodiments may use similar elements and methods to those describedpreviously for permanent magnet implementations. The primary differenceis replacement of the small permanent magnets with small controllableelectromagnets (dipoles), and associated electromagnet driver controlsand/or associate sensor controls. For example, in one embodiment of anelectromagnet magnetic UID configuration a cross-shaped electromagnetmay use a small chip scale, wire wound surface mount (SMT) cross dipoleinductor the can produce either a magnetic dipole A or a magnetic dipoleB, such as by using a cross-shaped electromagnet, when electric currentis run through wire windings A or B.

A cross-shaped electromagnet may be placed above a small digitalmagnetometer (such as Freescale MAG3110 device or other similar orequivalent device), and the crossed dipole may be moved by the userrelative to a small compass or other high sensitivity magnetic fieldsensor (e.g., digital magnetometer) device and sequential measurementsof the field of dipole A and then dipole B may be measured when currentis passed through each of these in sequence, thereby allowing thepositional displacement and tilt of the relative movement and tiltbetween the two components to be measured.

In some embodiments, springs may be used as suspension elements in aelectromagnetically configured magnetic UID. For example, three springs(or other numbers or shapes of springs) may be used to act as suspensionelements between the high sensitivity magnetic sensor (e.g., compasschip or magnetometer) and electromagnets (e.g., crossed dipoles). Thesprings may also be used as electrical circuit elements to providesignals to the electromagnets, such as to allow dipoles A and B to beseparately and controllably energized with current, such as may becontrolled by a processing element or other circuit component of themagnetic UID, to create instant magnetic dipoles that can be sensed by anearby multi-axis, (e.g., typically three axis) high sensitivitymagnetic sensor (such as a compass chip or magnetometer).

In some embodiments drive signaling may be applied selectively to eachof the dipole elements, for example, separately to dipoles A and thendipole B (e.g., an electromagnet array comprising crossed dipoles A andB), to generate the magnetic fields for sensing. In addition, an “offstate” may be used, where no current is applied to either dipole. Forexample, dipole A may first be energized to create a magnetic field,such as by a square waveform, ramp or triangle waveform, half sinusoidalwaveform, or other appropriate waveform, and a measurement may be takenby the high sensitivity magnetic sensor (e.g., compass sensor ormagnetometer), and then dipole B may subsequently be energized in asimilar fashion to create a magnetic field and a second measurement maybe taken by the sensor. A reference ambient magnetic field value may betaken with both dipoles A and B in the “off state” so that the relativestrengths of the magnetic fields due to A and B alone may be determinedby differencing away the ambient field value. Other patterns, sequences,and/or drive waveforms may be used in various embodiments.

Such a miniature magnetic UID using electromagnets and high sensitivitymagnetic sensors may be advantageous for use in smart phones, notebookcomputers, tablet computers, or other similar small and/or thinelectronic devices. In an exemplary embodiment, a cross-shapedelectromagnet configuration with a single magnetic sensor may be builtupon a single central PCB, where the device may be pinched by a userfrom opposite sides between two fingers, thereby allowing six degrees ofmotion to be imparted to the device by a user using only two fingersgripping from opposite sides. Optionally if a second pair of dipolesand/or a second magnet sensor is added, a pinch-squeeze measurement mayalso be made. In such an embodiment, the outer two pinchable PCB'sand/or supports under the rubber covers might be optionally mechanicallylinked so that they move as a single unit.

As noted previously, the electromagnets may include inductors surroundedby coil, such as coil-wrapped chip inductor. In some embodiments,deliberately saturating the inductors may be used to improve thereproducibility of the magnetic field over short time intervals.

FIG. 27 illustrates details of an embodiment of a process FIG. 2700 thatmay be used to process magnetically sensed signals in a magnetic UID,such as the magnetic UID embodiments described previously herein. Atstage 2710, a processing element may receive, during a movement ordeformation of an actuator element from the released state, sensor datafrom one or more magnetic sensor elements, such as from a two orthree-axis magnetic sensor. The sensor data may be in a plurality ofaxes of measurement, such as in three-axes of measurement, and may besufficient to determine motion of the actuator and/or associated magnetsin six degrees of freedom.

At stage 2720, the sensor data from the one or more magnetic sensorelements may be compared to a predefined magnetic field model todetermine an estimated position or deformation of the actuator elementfrom the reference state, such as by accessing a lookup table and/orsolving a closed form equation model. At stage 2730, an output signalmay be generated based on the estimated position or deformation of theactuator element from the reference state. The output signal may beformatted in a compatible format, such as USB or othercomputer-interface formats, to be provided to an electronic computingdevice from the magnetic UID. The predefined magnetic field model may beconfigured to relate positional information of the one or more magnetswith corresponding sensor information associated with the one or moremagnetic sensor elements, and may be stored in one or more memoryelements of the magnetic UID, such as in a memory device integral withor coupled to the processing element to allow direct access to thememory device.

The stage 2720 of comparing the sensor data from the one or moremagnetic sensor elements to a predefined magnetic field model mayinclude, for example, comparing the sensor data to values in one or morelookup tables to determine the estimated position or deformation. Thestage of comparing the sensor data may further include converting x andy dimension sensor measurements to an r-dimension measurement anddetermining the estimated position by accessing a lookup table includingB_(r) and z-dimension values. Alternately, or in addition, the stage2720 of comparing the sensor data from the one or more magnetic sensorelements to a predefined magnetic field model may include solving, basedon the sensor data, a closed form equation of the predefined magneticfield model to determine the estimated position or deformation. Theplurality of orthogonal axes of measurement may be three orthogonal axesof measurement.

The one or more magnets may be permanent magnets. Alternately, or inaddition, the one or more magnets may be electromagnets. The actuatorelement may include one or more movable elements. Alternately, or inaddition, the actuator element may include one or more deformableelements.

The output signal may include, for example, data defining the estimatedposition of the actuator element and/or of magnets in or associated withthe actuator element. The output signal may include data defining amotion of the actuator element. The output signal may include datadefining the deformation of the actuator element. The predefinedmagnetic field model may include one or more lookup tables relating thepositional information to the sensor information. The predefinedmagnetic field model may include a mathematic model, which may be aclosed form solution model, relating the position information to thesensor information. The reference position may be a released stateposition or may be another position related to or associated with thereleased state position, such as a position offset from the releasedstate position.

The reference position may be offset from a released state position, andthe method may further include, for example, determining the offset fromthe released position and adjusting the estimated position based on thedetermined offset. The offset may be a function of temperature and/orother physical or operational parameters, and the estimated position maybe adjusted responsive to a temperature measurement or measurement ordetermination of the other physical or operational parameters.

The process 2700 may further include, for example, a stage ofcompensating for unintended displacement of the manual actuator below apredetermined minimum threshold. The process may further include a stageof compensation for position of the magnetic user interface device usingone or more compass devices. The position of the magnetic user interfacedevice may be compensated by using a first compass on the magnetic userinterface device and a second compass on a display or monitor of acoupled electronic computing system.

The determining of the offset from the released position may include,for example, generating a center calibration prism including apredetermined set of boundaries of the magnetic field componentsdetected by each sensor, and repeatedly re-defining the centercalibration prism so as to auto-zero the released state position.

FIG. 28 illustrates details of an embodiment of a process FIG. 2800 thatmay be used to generate a predefined magnetic field model for use in amagnetic user interface device, such as the magnetic UID embodimentsdescribed herein. At stage 2810 a user interface device or element ofthe user interface device, such as an actuator or magnet assembly, maybe oriented in ones of a plurality of different positions. At stage2820, positional information may be determined and stored in a testsystem, such as a test computer, with the positional informationcorresponding to ones of the plurality of positions that are measured.At stage 2830, ones of a plurality of sensor data values may begenerated, such as from a magnetic sensor apparatus, and may be sent tothe test system, where they may be associated with the positionalinformation at stage 2840 and stored to generate the predefined magneticfield model. The predefined magnetic field model may then be loaded orburned into a memory of a magnetic UID for use during operation such asdescribed previously herein. In some embodiments, the positionalinformation and sensor data values may be associated and configured inthe form of a lookup table. Alternately, or in addition, the positionalinformation and sensor data values may be translated to a closed formmathematical model, such as a closed form approximation of the measuredsensor and position data, and then stored in the form of a closed-formequation which may be processed by a processing element of a magneticUID during operation.

While a number of different embodiments of methods and systems forinterpreting controls of a manual user interface device have beendescribed herein, modifications and adaptations thereof will occur topersons skilled in the art. For example, an initial calibration of themanual user interface device may be used to compensate for errors inpositioning of the magnets and magnetic sensors due to manufacturingtolerances or other changes or offsets. Similarly, an iterative errorreduction algorithm or other techniques may be used to compensate forthe same. Furthermore a capacitive or other independent means may beused to determine when the manual user interface device has been touchedby a user and thereby determine a center point for the manual userinterface device in a released state at that time rather than the centercalibration prism and auto-zeroing methods of FIGS. 16A and 16B.

In some configurations, the methods, apparatus, or systems describedherein may include or describe means for implementing features orproviding functions described herein. In one aspect, the aforementionedmeans may be a module including a processor or processors, associatedmemory and/or other electronics in which embodiments of the inventionreside, such as to implement magnetic sensor signal processing andposition determination or other functions related to magnetic sensorsand sensing applications, or to provide other electronic or computerprocessing functions described herein. These may be, for example,modules or apparatus residing in magnet user interface devices,computers, such as laptop, notebook, desktop, tablet, or other computingdevices, smart phones, or other electronic equipment, systems, ordevices.

In one or more exemplary embodiments, the various functions, methods,and processes described herein for use with user interface devices andassociated electronic computing systems may be implemented in hardware,software, firmware, or any combination thereof. If implemented insoftware, the functions may be stored on or encoded as one or moreinstructions or code on a non-transitory computer-readable medium.

Computer-readable media includes computer storage media. Storage mediamay be any available media that can be accessed by a computer,microcontroller, microprocessor, DSP, FPGA, ASIC, or other programmabledevice. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, FLASH, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer. Disk and disc, as used herein, includes compact disc (CD),laser disc, optical disc, digital versatile disc (DVD), floppy disk andblu-ray disc where disks usually reproduce data magnetically, whilediscs reproduce data optically with lasers. Combinations of the aboveare also be included within the scope of computer-readable media.

As used herein, computer program products comprising computer-readablemedia include all forms of computer-readable medium except, to theextent that such media is deemed to be non-statutory, transitorypropagating signals. Computer program products may include instructionsfor causing a processing element or module, such as a microcontroller,microprocessor, DSP, ASIC, FPGA, or other programmable devices andassociated memory to execute all of some of the stages of processes suchas those described herein.

It is understood that the specific order or hierarchy of steps or stagesin the processes and methods described herein are examples of exemplaryapproaches. Based upon design preferences, it is understood that thespecific order or hierarchy of steps in the processes may be rearranged,added to, deleted from, and/or amended while remaining within the spiritand scope of the present disclosure.

Those of skill in the art would understand that information and signals,such as video and/or audio signals or data, control signals, or othersignals or data may be represented using any of a variety of differenttechnologies and techniques. For example, data, instructions, commands,information, signals, bits, symbols, and chips that may be referencedthroughout the above description may be represented by voltages,currents, electromagnetic waves, magnetic fields or particles, opticalfields or particles, or any combination thereof.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, elements, and algorithm stepsdescribed in connection with the embodiments disclosed herein may beimplemented as electronic hardware, computer software,electro-mechanical components, or combinations thereof. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The various illustrative functions and circuits described in connectionwith the embodiments disclosed herein with respect to magnetic userinterface devices be implemented or performed with a general purposeprocessor, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA) orother programmable logic device, discrete gate or transistor logic,discrete hardware components, or any combination thereof designed toperform the functions described herein. A general purpose processor maybe a microprocessor, but in the alternative, the processor may be anyconventional processor, controller, microcontroller, or state machine. Aprocessor may also be implemented as a combination of computing devices,e.g., a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

The steps or stages of a method, process or algorithm described inconnection with the embodiments disclosed herein may be embodieddirectly in hardware, in a software module executed by a processor, orin a combination of the two. A software module may reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CD-ROM, or any other form of storage mediumknown in the art. An exemplary storage medium is coupled to theprocessor such that the processor can read information from, and writeinformation to, the storage medium. In the alternative, the storagemedium may be integral to the processor. The processor and the storagemedium may reside in an ASIC. The ASIC may reside in a user terminal. Inthe alternative, the processor and the storage medium may reside asdiscrete components in a magnetic user interface device, computer, orother electronic system or electronic computing device.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the presentdisclosure. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the disclosure. Thus, the present disclosure is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

The disclosure is not intended to be limited to the aspects shownherein, but is to be accorded the full scope consistent with thespecification and drawings, wherein reference to an element in thesingular is not intended to mean “one and only one” unless specificallyso stated, but rather “one or more.” Unless specifically statedotherwise, the term “some” refers to one or more. A phrase referring to“at least one of” a list of items refers to any combination of thoseitems, including single members. As an example, “at least one of: a, b,or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, band c. Various modifications to these aspects will be readily apparentto those skilled in the art, and the generic principles defined hereinmay be applied to other aspects without departing from the spirit orscope of the disclosure. Thus, the disclosure is not intended to belimited to the aspects shown herein but is to be accorded the widestscope consistent with the appended claims.

We claim:
 1. A method for processing signals in a user interface device,the user interface device including an actuator element having aplurality of magnetic sensor integrated circuit elements for sensingmagnetic fields in three orthogonal axes at a point in space and acorresponding plurality of magnets movable relative to the magneticsensor elements, where the magnetic sensor elements sense magneticfields generated by the magnets of the actuator element to determine aposition or deformation of the actuator, the method comprising:receiving, during a movement or deformation of a movable or deformableelement of the actuator element from the released state, orthogonalmagnetic field components associated with a position of each of theplurality of magnets resulting from the movement or deformation at theplurality of magnetic sensor elements, wherein the orthogonal magneticfield components for each of the one or more magnets is measured inthree orthogonal axes of measurement; providing output signals from theplurality of magnetic sensor elements corresponding to the receivedmagnetic field components; determining, based on the output signals, aradial magnetic field component associated with each of the magnets in aplane extending radially from one of the three axes of measurements;comparing at least the radial magnetic field component to a predefinedmagnetic field model to determine an estimated position or deformationof the actuator element from a reference state; and generating, based onthe estimated position or deformation of the actuator element from thereference state, an output signal usable by an electronic device coupledto the user interface device; wherein the predefined magnetic fieldmodel relates positional information of the one or more magnets withcorresponding sensor information associated with the one or moremagnetic sensor elements corresponding to predefined positions and/ordeformations.
 2. The method of claim 1, wherein the comparing the radialmagnetic field component to a predefined magnetic field model includescomparing the radial magnetic field component to values in one or morelookup tables to determine the estimated position or deformation.
 3. Themethod of claim 1, wherein the comparing the radial magnetic fieldcomponent to a predefined magnetic field model includes solving, basedat least on the radial magnetic field component, a closed form equationof the predefined magnetic field model to determine the estimatedposition or deformation.
 4. The method of claim 1, wherein the one ormore magnets are permanent magnets.
 5. The method of claim 1, whereinthe one or more magnets include an electromagnet.
 6. The method of claim1, wherein the output signal includes data defining the estimatedposition of the actuator element in three-dimensional space.
 7. Themethod of claim 1, wherein the output signal includes data defining amotion of the actuator element.
 8. The method of claim 1, wherein theoutput signal includes data defining a deformation of the actuatorelement.
 9. The method of claim 1, wherein the predefined magnetic fieldmodel includes a lookup table relating the positional information to theradial magnetic field component.
 10. The method of claim 1, wherein thepredefined magnetic field model includes a mathematic model relating theposition information to the radial magnetic field component.
 11. Themethod of claim 1, wherein the reference position is a released stateposition.
 12. The method of claim 1, wherein the reference position isoffset from a released state position, the method further including:determining the offset from the released position; and adjusting theestimated position based on the determined offset.
 13. The method ofclaim 12, wherein the offset is a function of temperature and theestimated position is adjusted responsive to a temperature measurement.14. The method of claim 1, further comprising compensating forunintended displacement of the manual actuator below a predeterminedminimum threshold.
 15. The method of claim 12, wherein the determiningthe offset from the released position includes: generating a centercalibration prism including a predetermined set of boundaries of themagnetic field components detected by each sensor; and repeatedlyre-defining the center calibration prism so as to auto-zero the releasedstate position.
 16. A user interface device, comprising: user movableactuator element including a plurality of magnets; a plurality of threeaxis integrated circuit magnetic sensor elements closely paired withcorresponding ones of the plurality of magnets for sensing magneticfields, generated from the magnets, in three orthogonal axes at acompact point in space, and providing corresponding magnetic sensoroutput signals; wherein the magnets are disposed on the actuator tomove, in conjunction with user interaction with the actuator, relativeto the magnetic sensor elements; a non-transitory memory to store apredefined magnetic field model; and a processing element operativelycoupled to the non-transitive memory, the processing element programmedto: receive, during a movement or deformation of the actuator elementfrom the released state, the sensor output data from the plurality ofthree axis magnetic sensor elements in a three orthogonal axes ofmeasurement; compare the sensor data from the plurality of three axismagnetic sensor elements to the predefined magnetic field model storedin the non-transitory memory to determine an estimated position ordeformation of the actuator element from a reference state; andgenerate, based on the estimated position or deformation of the actuatorelement from the reference state, an output signal usable by anelectronic device coupled to the user interface device; wherein thepredefined magnetic field model relates positional information of theplurality of magnets with corresponding sensor information associatedwith the plurality of three axis magnetic sensor elements.
 17. The userinterface device of claim 16, wherein the plurality of magnets comprisepermanent magnets.
 18. The user interface device of claim 16, whereinthe plurality of magnets comprise cross-shaped electromagnets and theplurality of three axis magnetic sensor elements comprise highsensitivity magnetic sensor elements.
 19. A user interface device,comprising: actuator means including one or more magnets; three axisintegrated circuit magnetic sensor means associated with correspondingones of the magnets for sensing magnetic fields generated from theassociated magnets at a compact point in space; wherein the magnets aredisposed on the actuator to move, in conjunction with user interactionwith the actuator, relative to the magnetic sensor elements; wherein theactuator means is pivotably mounted to the three axis magnetic sensormeans using a restorative means such that the actuator means and theassociated one or more magnets are freely movable in a limited rangeabout the three axis magnetic sensor means; non-transitory memory meansconfigured to store a predefined magnetic field model; and processormeans operatively coupled to the non-transitory memory means programmedto: receive, during a movement or deformation of the actuator elementfrom the released state, sensor data from the one or more magneticsensor elements in a plurality of axes of measurement; compare thesensor data from the one or more magnetic sensor elements to thepredefined magnetic field model stored in the non-transitory memorymeans to determine an estimated position or deformation of the actuatorelement from the reference state; and generate, based on the estimatedposition or deformation of the actuator element from the referencestate, an output signal usable by an electronic device coupled to theuser interface device; wherein the predefined magnetic field modelrelates positional information of the one or more magnets withcorresponding sensor information associated with the one or moremagnetic sensor elements.
 20. A method for processing signals in a userinterface device, the user interface device including an actuatorelement having one or more magnets paired to corresponding one or morethree-axis integrated circuit magnetic sensor elements, wherein themagnets are movable relative to the integrated circuit magnetic sensorelements, the method comprising: receiving, during a movement ordeformation of the actuator element from the released state, sensor dataassociated with three orthogonal axes of motion sensed by the multi-axismagnetic sensor elements and generated by corresponding magnets, whereinthe sensor data comprises magnetic field data in three orthogonaldimensions of each of the one or more magnets, in relation tocorresponding one or more multi-axis magnetic sensor elements; comparingthe sensor data from the ones of the magnetic sensor elements to apredefined magnetic field model to determine an estimated position ordeformation of the actuator element from a reference state, wherein thepredefined magnetic field model is a closed form solution model; andgenerating, based on the estimated position or deformation of theactuator element from the reference state, an output signal usable by anelectronic device coupled to the user interface device; wherein thepredefined magnetic field model relates positional information of theone or more magnets with corresponding sensor information associatedwith the one or more magnetic sensor elements.
 21. The method of claim20, wherein the multi-axis magnetic sensor elements comprise two axismagnetic sensors.
 22. The method of claim 20, wherein the multi-axismagnetic sensor elements comprise three axis magnetic sensors.
 23. Themethod of claim 20, wherein the one or more magnets comprise permanentmagnets.
 24. The method of claim 20, wherein the one or more magnetscomprise a cross-shaped electromagnet and the three-axis magnetic sensorelement comprises a high sensitivity magnetic sensor.
 25. The method ofclaim 24, wherein the cross shaped electromagnet includes a first dipoleelement and a second dipole, the method further including selectivelyswitching the first dipole element and the second dipole element togenerate a magnetic field in three-dimensions for detection by the highsensitivity magnetic sensor.
 26. A user interface device, comprising: anactuator element having one or more magnets and corresponding one ormore three axis integrated circuit magnetic sensor elements for sensingmagnetic fields at a compact point in space, to sense a position ordeformation of the actuator element upon movement or deformation of theactuator element; wherein each of the one or more magnets is paired to acorresponding ones of the one or more three axis integrated circuitmagnetic sensor elements; wherein the magnets are configured to moverelative to corresponding magnetic sensor elements; and wherein each ofthe one or more magnets is positioned and oriented with a South polefacing towards a bottom of the actuator element and a North pole facingtowards corresponding ones of the one or more magnetic sensor elements;a non-transitory memory configured to store a predefined magnetic fieldmodel corresponding to magnetic field signals associated with movementand deformation of the actuator element in three dimensional space; anda processing element operatively coupled to the non-transitory memory,programmed to: receive, during a movement or deformation of the actuatorelement from the released state, sensor data associated with two or moreorthogonal axes of motion sensed by the multi-axis magnetic sensorelements; compare the sensor data from the ones of the magnetic sensorelements to a predefined magnetic field model stored in the memory todetermine an estimated position or deformation of the actuator elementfrom the reference state; and generate, based on the estimated positionor deformation of the actuator element from the reference state, anoutput signal usable by an electronic device coupled to the userinterface device; wherein the predefined magnetic field model relatespositional information of the one or more magnets with correspondingsensor information associated with the one or more magnetic sensorelements.